双引号和$ _POST

时间:2013-07-29 17:27:53

标签: php html post

您好我正在使用$ _POST ['value'];在第二页上抓取价值并且所有组合工作包括'但是当我使用'时,它不起作用,所以让我说我会写“测试”并且在第二页上将获得空的$ _POST [值];我有魔法引用OFF,这只发生在输入字段而不是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”或任何“在该字段内

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

请参阅https://stackoverflow.com/a/6007262/838733

您不应直接编写$_POST值而不对其进行编码以防止XSS攻击。

答案 2 :(得分:-1)

而不是“测试”使用\“测试\”

或者甚至更好地使用
    $ input_arr = array();
         //抓取$ _POST变量并添加斜杠
     foreach($ _POST as $ key =&gt; $ input_arr){
     $ _POST [$ key] = addslashes($ input_arr);
    }