在搜索框中显示上次提交的值

时间:2011-05-26 19:38:08

标签: php html

我在HTML表单中有一个文本框,用户将输入一些信息并按提交。此数据将提交到同一页面,因此我希望在文本框中显示上次提交的值。

我正在尝试这个:

<input name="srq" type="text" id="search_box" <?php if($_GET["srq"]) echo 'value="'.$_GET["srq"].'"'; ?> />

但那会把“'你好'”变成“\'你好''”。这样做的正确方法是什么?

4 个答案:

答案 0 :(得分:2)

一个解决方案可能是在php设置中关闭magic_quotes_gpc,或者其他一个是在$ _GET中使用stripslashes [“srq”]

<?php if($_GET["srq"]) echo 'value="'.stripslashes($_GET["srq"]).'"'; ?>

我认为你明白这是多么不安全?

答案 1 :(得分:1)

echo 'value="' . htmlspecialchars($_GET['srq']) . '"'

不要自动添加斜杠。如果需要在数据库中插入一些内容,请使用db escape函数(例如MySQL的mysql_real_escape_string())将其转义,而不是依赖斜杠。

答案 2 :(得分:0)

在输出值时使用stripslashes函数。

答案 3 :(得分:0)

你有魔法引号=开

use get_magic_quotes_gpc检查它们是否已开启,然后使用stripslashes删除引号