0

こんにちは、私は $_POST['value']; を使用しています。2ページ目で値を取得し、 'を含むすべての組み合わせが機能しますが、"を使用すると機能しないため、「テスト」と記述し、2ページ目に空の$_POST [値]を取得するとしましょう;私には魔法があります引用符がオフで、これは入力フィールドでのみ発生し、テキストエリア フィールドでは発生しません. mysql-real-escape-string を使用して文字列をエスケープしていません 非常に奇妙です, 助けてください.

<form method="post" name="UploadForm" id="UploadForm" action="sellitem2.php" enctype="multipart/form-data" >

<input class="button_date" type="text" name="auction_title" style="text-transform:none;" id="auction_title" value="<?php echo $_POST['auction_title']; ?>" size="32" minlength="2" maxlength="21" required/>

<input class="button2" style="border-right:none; font-size:13px;" name="Next Step" id="submit" type="submit" value="Next Step" onClick="removeFocus()"/>

</form>

そして、2ページ目には、一度入力した「TEST」またはそのフィールド内の「」は何もありません

4

3 に答える 3

0

HTMLを学ぶ必要があります。特にタグ属性の構文。PHP では、htmlspecialcharsそれらをエンコードするために使用する必要があります。

于 2013-12-15T12:54:39.797 に答える
0

テキストエリアのコンテンツを直接書き込むことができます。値属性はありません:

  <textarea><?php echo $foo;?></textarea>

https://stackoverflow.com/a/6007262/838733を参照してください

$_POSTまた、XSS 攻撃を防ぐために、値をエンコードせずに値を直接書き込むべきではありません。

于 2013-12-15T12:56:49.570 に答える
0

「テスト」の代わりに「テスト」を使用</p>

または、
$input_arr = array();を使用することをお勧めします。
// $_POST 変数を取得し、スラッシュを追加
foreach ($_POST as $key => $input_arr) {
$_POST[$key] = addslashes($input_arr);
}

于 2013-12-15T12:06:55.030 に答える