好的,我在这件事上绞尽脑汁,谷歌对此一点帮助都没有,
if (isset ($_GET['comment']))
$commentEntered = $_GET['comment'];
else
$commentEntered = "refuse"; 上面我得到了变量,然后我用下面的代码把它传递给数据库,是的,我知道它有注入的危险。
$sql = "insert into $DB_Table (comment) values('$commentEntered');";
$res = mysql_query($sql,$con) or die(mysql_error());
mysql_close($con);
if ($res) {
echo "success";
}else{
echo "faild";
}因此,当我在文本框中输入一句话时,它会将其传递给这个php文件。GET方法获取输入的注释并将其存储在$commentEntered中
现在,当我在文本框中输入一个单词时,注释就会被存储起来,没有问题。但是当我输入由空格分隔的多个单词时,它将不起作用。
有什么想法吗?
发布于 2012-01-22 08:29:43
在命中查询之前找出发生了什么。
var_dump($commentEntered)我打赌URL包含一个空格,而不是%20,因此$commentEntered是第一次出现空格之前的所有内容。通过调试找出答案。解决这个问题的唯一方法是在字符命中脚本之前对其进行转义。
https://stackoverflow.com/questions/8957949
复制相似问题