我希望有人能为我解决这个问题。在表单验证方面,我一直在读一本关于最佳实践的书,如果用户输入错误的值,则将表单返回给他们,并使用他们输入的数据和警告/错误消息。
我想要做的是说用户在文本框中输入以下内容:
hello " there
我想在文本框中返回上面的内容。现在,当我使用下面的代码时,它会添加一个斜杠。
<input name="name" id="name" type="text" class="formbox"
<?
php if ($missing || $errors) {
echo 'value="' . htmlentities($name) . '"';
}
?>
>
我认为这样做是:
<input name="name" id="name" type="text" class="formbox"
<?
php if ($missing || $errors) {
$name = stripslashes($name);
echo 'value="' . htmlentities($name) . '"';
}
?>
>
虽然上述工作似乎效率低下。如果我只使用'stripslashes',那么“删除之后的任何内容。目前,表单只是检查自己的意思是,当用户点击提交表单重新加载和IF语句捕获任何帖子然后检查是否有任何遗漏的领域。
我希望这一切都有意义,因为我无法在SO和Google上找到最佳解决方案。
非常感谢您提前提供的任何帮助:)
答案 0 :(得分:0)
你可以将它们结合起来以提高效率:
echo 'value="' . htmlentities(stripslashes($name)); . '"';
答案 1 :(得分:0)
您可以使用函数$ mysqli-&gt; real_escape_string($ value)。它是mysqli类的一个功能。
答案 2 :(得分:0)
我没想到的是:
<?php
if ($missing || $errors) {
echo 'value="' . stripslashes(htmlentities($name)) . '"';
}
?>>
这似乎是目前最好的方法。