在包含单引号的表单中发布值的最佳方式

时间:2014-04-28 20:00:45

标签: html forms

当我提交包含撇号的值时,会返回2个撇号。

因此,当我打印$ _POST ['姓氏']时,如果O&#r; rourke进入文本框,我会看到O' Rourke。

这是代码

<?php
print_r($_POST);
?>
<form method=post action=<?php echo $_SERVER["PHP_SELF"] ?>>
Surname<input type='text' name='surname' value='' />
<input type='submit' value='Register'>
</form>

阻止这种情况的最佳方法是什么?显然我可以做一个字符串替换但是有更好的方法吗?例如,有一种方法可以在表单中而不是在操作中停止它。

请注意,这与MySQL无关。

请注意,传递一个由htmlentities输出的值仍会导致O&#39; Rourke被打印出来。我使用的代码如下所示。

<form method=post action=<?php echo $_SERVER["PHP_SELF"] ?>>
Surname<input type='text' name='surname' value="<?php echo htmlentities("O'Rourke") ?>"/>
<input type='submit' value='Submit'>
</form>

当用户在文本框中输入文本并点击提交时,我不确定这会有什么帮助。对不起,如果我误解了如何使用htmlentities。

0 个答案:

没有答案