0

您好,我正在使用 $_POST['value']; 在第 2 页获取价值,所有组合都有效,包括 ' 但是当我使用 " 时,它不起作用,所以假设我将写 "test" 并且在第 2 页将得到空 $_POST[value]; 我有魔法引号关闭,这仅发生在输入字段上,而不发生在 textarea 字段上。我没有使用 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>

在第二页上,一旦在该字段中键入“TEST”或任何“,我什么都没有

4

3 回答 3

0

而不是“测试”使用\“测试”</p>

或者更好地使用
$input_arr = array();
//获取 $_POST 变量并添加斜线
foreach ($_POST as $key => $input_arr) {
$_POST[$key] = addlashes($input_arr);
}

于 2013-12-15T12:06:55.030 回答
0

你必须学习 HTML。尤其是标签属性语法。在 PHP 中,您必须使用htmlspecialchars它们对它们进行编码。

于 2013-12-15T12:54:39.797 回答
0

您可以将 textarea 的内容直接写入其中,iirc 没有 value 属性:

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

https://stackoverflow.com/a/6007262/838733

而且你不应该直接写$_POST值而不编码它们以防止 XSS 攻击。

于 2013-12-15T12:56:49.570 回答