嗨,我正在尝试使用$ _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"];
?>
答案 0 :(得分:3)
禁用魔术引号。在页面顶部,您可以这样编码:
<?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
答案 1 :(得分:1)
Disable magic quotes在您的服务器上。
(除非您在$_GET[]
中循环并使用类似addslashes()
的内容)。
您可以通过运行...
判断是否启用了魔术引号var_dump(get_magic_quotes_gpc());