看起来像普通问题,但找不到正确的解决方案。假设我有这样的形式:
<form name="form" action="nextpage.php">
<input type="text" name="input_name" value="<?php echo $_POST['input_name'];?>" />
<input type="submit" name="submit" value="Next"/>
</form>
例如,如果我添加“我的输入文字&gt;”作为输入的值,nextpage.php被破坏。
我尝试用于:value="<?php echo strip_tags($_POST['input_name']);?>"
或
:value="<?php echo htmlspecialchars($_POST['input_name']);?>"
但它们都不起作用..为什么这样以及如何避免它?谢谢
答案 0 :(得分:1)
首先,您应该清理已发布的安全值,但除此之外,php提供了一个自动转义名为addslahes http://php.net/manual/en/function.addslashes.php的特殊字符的函数,使用addslashes函数将post值保存到变量中,然后使用变量作为你的价值。
答案 1 :(得分:0)
试试这个
<?php
$_POST['input_name']="ddd"; ?>
<form name="form" method="POST" action="nextpage.php">
<input type="text" name="input_name" value="<?php echo $_POST['input_name'];?>" />
<input type="submit" name="submit" value="Next"/>
</form>
并在nextpage.php中
<?php
$name=$_POST['input_name'];
echo $name;
答案 2 :(得分:0)
试试这个:
<form name="form" action="nextpage.php" method="POST">
<input type="text" name="input_name" value="<?php echo $_REQUEST['input_name'];?>" />
<input type="submit" value="Next"/>
</form>