我对IE和Edge有一个奇怪的问题 - 他们似乎在我的本地机器上阻止了cookie,域名指向我的PC。
所以我有一个域http://mydomain.local/cookie.php,代码如下:
<?php
setcookie('my','cookie',0);
print '<pre>'; print_r($_COOKIE); print '</pre>';
?>
如果我将其上传到我的服务器并通过IE / Edge运行它我没有遇到任何问题。然而,在本地运行它并没有设置任何东西。没有饼干。我已经检查了“不要阻止cookie”的cookie选项,但我有点困惑 - 某处有安全设置吗?感谢。
答案 0 :(得分:0)
你知道在读取cookie之前需要重新加载吗?所以你设置了cookie但是因为你需要重新加载页面而无法读取它 如果您重新加载页面,则再次设置cookie,因此无法读取。
if(!isset($_COOKIE)){
setcookie('my','cookie',0);
}else{
print '<pre>'; print_r($_COOKIE); print '</pre>';
}
打开页面,然后按刷新。
编辑:这与Internet Explorer没有任何关系,这就是setcookie和PHPs cookie功能的工作原理。常见陷阱:
Cookies will not become visible until the next loading of a page that the cookie should be visible for. To test if a cookie was successfully set, check for the cookie on a next loading page before the cookie expires.