【发布时间】:2011-11-09 16:53:25
【问题描述】:
如何使用 POST 传递双引号?每次我尝试时,他都会第一次给我\',第二次给我\\\'\\\,以此类推。我用str_replace 试过,但它只适用于零件。有没有办法纠正这个问题?
编辑:
禁用magic_quotes_gpc 后,它仍然不能 100% 正确工作。我的第一个表单有一个隐藏的输入字段。它的价值
text 'textinquotes'
每post 这个值被提交给另一个php 脚本。如果我输出我得到的变量
text \'textinquotes\'
如果用户忘记填写字段,我会根据post 将值提交给另一个 PHP 脚本。在这个 php 脚本中,我创建了一个 get,其中包含用户输入其值的 php 脚本的参数。在这种情况下,我得到
text \\\'textinquotes\\\'
如果用户输入的所有内容都正确,我会写一封电子邮件并将其存储在数据库中。在我收到的电子邮件中
text \'textinquotes\'
在我得到的数据库中
text 'textinquotes'.
我做错了什么?
为了创建get,我有以下代码:
$red = $referer."?error=1";
foreach($post as $post_key => $post_value) {
$red .= "&".$post_key."=".$post_value;
}
【问题讨论】:
-
PHP 版本?看起来像一个 magic_quotes_gpc() 问题。
-
PHP 版本 5.3.8。
magic_quotes_gpc已开启。magic_quotes_runtime和magic_quotes_sybase已关闭。
标签: php html forms post parameters