1

値を含むデータベースにフィールドがあります:

<p><!--? echo get_block(\'contact\');?--><?php echo get_block('home-page'); ?></p>

フロントエンドでレコードをフェッチすると、出力が文字列として表示されます。

echo $var = html_entity_decode(stripslashes($row_content_list["content"]));

出力

"<?php echo get_block('home-page');?>"

PHPスクリプトとして機能させたい。

4

3 に答える 3

0

eval()関数を試す必要があります。これは文字列を受け入れ、そこから PHP を反映します。

言及する唯一のことは、<?php ?>タグを削除する必要があるということです。

$var= html_entity_decode(stripslashes($row_content_list["content"]));
eval($var);
于 2012-08-29T11:52:29.343 に答える
0

このような.phpファイルを作成します$filename = 'script.php'

$openedFile = fopen($fileName, 'w') or die("can't open file");      
        fwrite($openedFile, $var);      
        fclose($openedFile);

そこにあなたのことを書いて$var、それを含めてください...うまくいくかもしれません:)しかし、それでも安全ではありません

于 2012-08-29T11:23:03.067 に答える
0

PHP スクリプトとして追加することはできません。

PHP = サーバー側言語。与えられたコマンドを処理し、HTML 出力をスローします。(時々エラーが発生します) 既に処理された出力を再処理することはできません。

データベースからフェッチすると、すでに処理されています。第 2 に、エコーができず、期待される PHP 関数が実行されます。ECHO自体はphp(システム)のものだからです。

アプローチを再戦略する必要があるかもしれません。

編集: eval を使用しないでください。特に、データのサニタイズについて完全に確信している場合を除き、データベースから何かが出てくる場合.

于 2012-08-29T10:01:40.163 に答える