我在HTML表单中有一个文本框,用户将输入一些信息并按提交。此数据将提交到同一页面,因此我希望在文本框中显示上次提交的值。
我正在尝试这个:
<input name="srq" type="text" id="search_box" <?php if($_GET["srq"]) echo 'value="'.$_GET["srq"].'"'; ?> />
但那会把“'你好'”变成“\'你好''”。这样做的正确方法是什么?
答案 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删除引号