1

我希望有人可以为我解决这个问题。我一直在阅读一本关于表单验证最佳实践的书,如果用户输入错误的值,则将表单连同他们输入的数据连同警告/错误消息一起返回给他们。

我想要做的是说用户在文本框中输入以下内容:

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 上找到最佳解决方案。

非常感谢您提前提供的任何帮助:)

4

3 回答 3

0

您可以将它们结合起来以提高效率:

echo 'value="' . htmlentities(stripslashes($name)); . '"';
于 2013-03-02T02:15:33.383 回答
0

您可以使用函数 $mysqli->real_escape_string($value)。它是 mysqli 类的一个函数。

于 2013-03-02T02:17:06.993 回答
0

我没想到的是:

<?php 
    if ($missing || $errors) {
        echo 'value="' . stripslashes(htmlentities($name)) . '"';
    } 
?>>

这似乎是目前最好的方法。

于 2013-03-02T02:19:23.123 回答