用Php提交表单lost@character

用Php提交表单lost@character,php,javascript,forms,Php,Javascript,Forms,我有一个非常奇怪的问题在我的形式,不知道如何解决它。试图搜索,但什么也没找到。我有一个表单,在php页面中用$get接收数据以处理数据。奇怪的是,当我在像电子邮件这样的字段中插入@时,@在发送数据的过程中丢失了。我在重定向到php页面之前的一行中验证了@是否存在,它是否存在,所以我不知道这个字符在流程的下一步会丢失 有什么提示吗 重定向来自一个javascript函数,我在单击提交表单时调用该函数: window.location.href = 'index.php?pagina=candida

我有一个非常奇怪的问题在我的形式,不知道如何解决它。试图搜索,但什么也没找到。我有一个表单,在php页面中用$get接收数据以处理数据。奇怪的是,当我在像电子邮件这样的字段中插入@时,@在发送数据的过程中丢失了。我在重定向到php页面之前的一行中验证了@是否存在,它是否存在,所以我不知道这个字符在流程的下一步会丢失

有什么提示吗

重定向来自一个javascript函数,我在单击提交表单时调用该函数:

window.location.href = 'index.php?pagina=candidaturasB&'+ qstringA;
“qstringA”包含我表单中的所有数据,如果在某些输入中,我在取消重定向行之前输入了@,if do alert(qstringA),那么@在那里,在那之后,在我收到数据的php页面的url中,没有@

例如:index.php?…&电子邮件=”ren@something.com“出现在url“index.php?…&email=“rensomething.com”上。

对每个表单数据使用
urlencode()

例如:


然后将结果字符串传递到
窗口。location.href

你能发布你的代码吗?去除特殊字符?听起来你把电子邮件地址当作一个键,而不是一个值,PHP正在吃掉
@
并将其转换为
\
,以便与兼容。暂时把这是一个stu的事实放在一边pid和“烦人”功能“关于PHP,尽管事实上,
register\u globals
本身已经被删除,但它仍然发生在5.4中——我认为你需要做的是确保你将值作为一个值传输,并将其传递给重定向。我更新了我最初的帖子。达维兰多姆,像一把钥匙?你能说得更具体些吗?我只是从输入中检索数据,仅此而已;对不起,我之前忘了提到这一点,所以您的问题是JS问题,而不是PHP问题。看看
$url = "index.php?pagina=candidaturasB";
$url .= "&email=".urlencode($_GET['email']);
$url .= "&data="urlencode($_GET['data']);