Possible Duplicate:
“slash before every quote” problem
嗨,我正在尝试使用 $_GET 将文本框的内容发送到另一个 php 文档。但每当我尝试使用单引号 (') 或双引号 (") 时,文本都会以\' 或\"形式接收。当我尝试使用 str_replace 时,出现 php 错误。我需要使用 $_GET 而不是 $_POST,因为我需要能够为页面添加书签。
代码如下: HTML 文档:
<form action="result.php" method="get">
<input type="text" name="code" size="70" />
<input type="submit" />
</form>
PHP 文档:
<?php
echo $_GET["code"];
?>
最佳答案
禁用魔术引号。在页面顶部,您可以编写如下代码:
<?php
if (get_magic_quotes_gpc()) {
$process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
while (list($key, $val) = each($process)) {
foreach ($val as $k => $v) {
unset($process[$key][$k]);
if (is_array($v)) {
$process[$key][stripslashes($k)] = $v;
$process[] = &$process[$key][stripslashes($k)];
} else {
$process[$key][stripslashes($k)] = stripslashes($v);
}
}
}
unset($process);
}
?>
还有更好的选择。阅读此处 http://www.php.net/manual/en/security.magicquotes.disabling.php
关于PHP $_GET 撇号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4296321/