Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php gmail上的验证链接不起作用_Php_Validation_Cookies_Gmail_Hyperlink - Fatal编程技术网

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失败的原因吗?