1

ユーザー入力を保存するようにデータベースを設定し、ページに入力した内容を表示します。

$input = mysql_real_escape_string(stripslashes(addslashes($_POST["input"])));
//Later on
echo '<div>'.$input.'</div>';

テキストエリアに行き、いくつかの基本的なphpコードを入力する"<?php echo 'blahblah'; ?>,"と、データベースに正常に送信されましたが、ホームページには何も表示されません。「ブラブラ」なし、タグなし。全体を表示して、"<?php echo 'blahblah'; ?>"人々が好きなものを投稿できるようにしたい.

4

2 に答える 2

0

エスケープは、そのコンテキストに適している必要があります。

  • データベースに挿入するときは、使用するmysql_real_escape_string(または新しいmysqli_real_escape_stringや PDO に移行する) か、パラメーター化されたクエリ (AKA プリペアド ステートメント) を読み上げます。
  • HTML で表示する場合は、htmlspecialcharsまたはを使用しますhtmlentities

混乱するので、一度に両方を使用しstripslashes(addslashes(...))ないでください。意味がないため、決して使用しないでください。

于 2013-09-28T17:54:54.373 に答える
-1

次のことを試してください。

echo '<div>'.htmlentities($input).'</div>';

< や > などの特殊文字を html エンティティに変換して、ブラウザに正しく表示されるようにします。

于 2013-09-28T16:41:51.527 に答える