这是一个小测试。我设置了一个cookie,然后尝试访问它:

<?php
setcookie("t",0,time()+900);
echo ($_COOKIE['t']+10);
setcookie("t",0,time()-3600);
?>

当我运行代码时,会收到如下错误消息:
Notice: Undefined index: t in /var/www/x/testcookie.php on line 5
10

为什么我不能进入饼干?

最佳答案

不是那样的。setcookie只是说“用下一个http连接告诉客户端(浏览器)设置这个cookie。如果尚未过期,浏览器将在下一个http连接中将其发送回。只有这样它才包含在$_COOKIE数组中。因此,您可以检查它是在下一页重新加载后的PHP中设置的。
此外,在代码中,不会设置第二个cookie,因为您向浏览器输出了在setcookie函数(任何头函数)之前禁止的内容。
setCookie()定义了一个cookie,该cookie将与其余的http头一起发送。与其他头文件一样,cookies必须在脚本输出之前发送(这是协议限制)。这要求在任何输出之前调用此函数,包括和标记以及任何空格。
一旦设置了Cookie,就可以在下一页访问它们。
使用$cookie加载

关于php - setcookie php很慢还是发生了什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29701469/

10-09 19:03