我有一个打印所有 cookie 的小测试页面,如果 $_COOKIE['TEST'] 未设置,则它会创建 cookie 记录。
<?php
if (!isset($_COOKIE['TEST']) ) {
$now = time();
setcookie("TEST", $now, $now+2592000);
}
else {
print_r($_COOKIE);
}
?>
这在 Chrome 和 IE 8 上适用于我测试过的其他 3 台 PC。第一次查看页面时,浏览器会创建一个 cookie。在第二次访问时,它会打印记录。输出是这样的:
数组([测试] => 1366214517)
但是,在一台装有 IE8 的 PC 上,这不起作用。我担心这个问题可能会发生在其他人身上。在有问题的机器上:
隐私设置设置为低
我还按照以下步骤在“隐私”>“站点”下明确允许该站点的 cookie:http: //windows.microsoft.com/en-GB/windows-vista/block-or-allow-cookies
在查看 > 网页隐私政策下,隐私报告显示“根据您的隐私设置,没有 cookie 被限制或阻止”。它说接受 Cookie
我已经用 JavaScript 和 PHP 检查了服务器时间的 PC 时间,并且两者都是内联的(当使用带有 cookie 过期的较大页面进行测试时)
我将不胜感激对这个问题的任何见解。
非常感谢。
更新我在 cookie 中添加了过期时间
更新 2如果我从第一个 if 语句中删除 set cookie(当 cookie 应该已经保存在以前的页面视图中时),则 IE 开发人员工具显示没有 cookie 记录。重新设置 cookie 后,它会打印以下消息:
名称测试
值 1366271544
域 www.myexamplewebsite.com
路径/
到期 18/05/2013 08:52:24