可能重复: 从表格字符串中发帖?
我有一个我无法解决的问题。我有搜索功能在我的网站上传递变量。一些url变量中可能有撇号。例如:
http://xyz.php?var=that's我的问题是,当变量被传递时,它会添加一个\来逃避撇号。然后,当我单击分页按钮时,它将转义转义,添加。有没有办法阻止这个网址的逃逸。它工作得很好,它返回撇号,或者只转义一次。
http://xyz.php?var=that's or http://xyz.php?var=that\'s但是当我分页的时候,它逃脱了
> http://xyz.php?var=that\\\'s当它逃避转义,添加多个斜杠时,它会破坏我的搜索或不返回任何结果。
有没有人知道php函数可以阻止它转义或者根本不转义url。谢谢。
发布于 2012-10-20 19:45:35
可能是应激
// Turn off magic_quotes_runtime
if (get_magic_quotes_runtime())
set_magic_quotes_runtime(0);
// Strip slashes from GET/POST/COOKIE (if magic_quotes_gpc is enabled)
if (get_magic_quotes_gpc())
{
function stripslashes_array($array)
{
return is_array($array) ? array_map('stripslashes_array', $array) : stripslashes($array);
}
$_GET = stripslashes_array($_GET);
$_POST = stripslashes_array($_POST);
$_COOKIE = stripslashes_array($_COOKIE);
}如果您不满意禁用条纹斜杠,请参阅magic_quotes。
发布于 2012-10-20 20:34:48
要转义URL参数,可以使用urlencode() (或urldecore )来解码url)
将变量值放入查询中时,可以使用mysql_real_escape_string()
<a href="search.php?var=<? echo urlencode("something isn't right");?>">search</a>和
mysql_query("SELECT .. WHERE x = '" . mysql_real_escape_string($_GET['var']) . "'");你应该没事的。
如果在服务器配置中启用了魔术引号,则禁用它们!
https://stackoverflow.com/questions/12991978
复制相似问题