Php gmail上的验证链接不起作用
我向用户发送了一个单击链接,以验证他的帐户 一切正常,直到我有了从Php gmail上的验证链接不起作用,php,validation,cookies,gmail,hyperlink,Php,Validation,Cookies,Gmail,Hyperlink,我向用户发送了一个单击链接,以验证他的帐户 一切正常,直到我有了从Gmail地址测试它的想法。当用户从站点发送请求时,他已经被迫选择存储在cookie中的语言 我有Firefox作为默认浏览器。它适用于所有其他电子邮件客户端,如Yahoo、Hotmail和windowsmail,但不适用于Gmail 错误在于,当点击链接时,会打开一个新页面(与以往一样),但会显示cookie选择页面,并一次又一次地要求选择语言。 此代码段用于设置语言cookie: setcookie("language",$_
Gmail
地址测试它的想法。当用户从站点发送请求时,他已经被迫选择存储在cookie中的语言
我有Firefox
作为默认浏览器。它适用于所有其他电子邮件客户端,如Yahoo
、Hotmail
和windowsmail
,但不适用于Gmail
错误在于,当点击链接时,会打开一个新页面(与以往一样),但会显示cookie选择页面,并一次又一次地要求选择语言。
此代码段用于设置语言cookie:
setcookie("language",$_GET["language"],time()+730*24*3600,NULL, NULL, NULL,TRUE);
其他Cookie在索引上使用以下规则设置:
session\u set\u cookie\u参数(0,NULL,NULL,NULL,TRUE)代码>
以下格式的链接用于验证用户(已修改):
这意味着拥有Gmail
的用户将无法进行身份验证
有人知道如何解决这个问题吗?我终于找到了原因:
我的代码缩进如下:
验证&code=7c222fb2927d828af22f592134e8932480637c0d&user=some.random.user%40gmail.com&
确认=e34054aca67d77bb76fe62019ef331c7e2a0a4b9
这不会导致我测试过的任何电子邮件提供商出现错误,Gmail除外强>
它在相等的之后插入%09%09
,因此自动验证失败,因为它没有到达目标页面
希望这能有所帮助。检查gmail是否在邮件中损坏了url。检查您的访问日志,比较当该用户单击v.s.时服务器收到的内容。您在电子邮件中发送的内容。LinkedIn在Chrome浏览器中存在此问题,要验证电子邮件,您必须通过Firefox进行验证。。。我认为最好的解决方案是提供一个表单,如果点击验证失败,用户可以复制并粘贴他们的代码。我见过很多主要的网站都这么做。URL是平等的吗?我的意思是,当脚本发送电子邮件时,url是www.site.com,但电子邮件中的url是site.com(不带www或带文件夹,如www.site.com/somefolder/),urlencode()在发送的url中输出%09%09
。这是干什么用的?我发现%09
是“tab”的意思是什么?这不是Gmail失败的原因吗?