无法在Chrome 5中设置Cookie
由于今天我刚刚更新至v5,因此我正面临Google Chrome的棘手问题。
我有一个用户登录过程在我的网站上运行。在FF 3.6.x和IE 7中一切正常,但我无法在Google Chrome 5中设置任何Cookie。我提到了5,因为它在v4之前运行良好。无法在Chrome 5中设置Cookie
我的PHP脚本看起来像这样:
$cook = setcookie($cookieName, $value, $expires, '/', '.'.$domain);
var_dump($cook, isset($_COOKIE[$cookieName]));
我甚至尝试替代setrawcookie
没有任何结果。
$cook = setrawcookie($cookieName, $value, $expires, '/', '.'.$domain);
var_dump($cook, isset($_COOKIE[$cookieName]));
FF和3.6.x的IE7输出:
bool(true) bool(true)
尽管Google浏览器v5输出:
bool(true) bool(false)
很显然我没有看到谷歌浏览器5跟踪此cookie 。 任何想法? =/
干杯,
尼古拉斯。
您可以通过在地址栏中输入javascript:alert(document.cookie)
来检查Cookie。
Cookie将根据第二次请求发送到服务器。 [browser request(no cookie)]->[server response(set cookie)]...[browser request(cookie, if valid)]->...
因此,您应该通过刷新测试页面来查看$ _COOKIE中的cookie。
还检查您的参数是否正确。 (时间在未来域是您的域)
嗨,我建立了一个像这样的测试页:'setcookie('mycookie','value',1275045629,'/','.192.168.0.xxx');'和'javascript:alert(document.cookie)'只显示我PHPSESSID cookie。你有没有试过谷歌浏览器5? – Nicolas 2010-05-27 11:24:19
删除域名以查看它是否有效。 '.192.168.0.xxx'无效。您不应该将点添加到IP地址。 – 2010-05-27 11:35:48
不要用点前缀IP。这意味着域名用于子域目的。 – 2010-05-27 11:36:24
我一样,检查您的系统日期和时间
解答感谢伊姆雷L和ZZ编码器:不要用一个点前缀域参数是当一个IP地址。 Chrome v5不喜欢它:) – Nicolas 2010-05-27 11:43:44