setcookie刷新后才生效问题
实验
首先,设置一个Cookie
<?php setcookie('','aaa',time()+3600,'/'); echo $_COOKIE['a']; ?>
下面我们来看看,当首次(当前页面)访问此页面时,会报错:
分析
那么为什么会报Undefined错误呢
①首次访问【未刷新】
我们来看看首次访问时页面响应头信息,发现
[响应头信息]中增加Set-Coookie参数,但[请求头信息]中没有Cookie参数
②>1次访问[刷新过]
我们来看第二次访问时页面显示结果:
发现Cookie的值显示在了页面上。这时我们再来看看[响应头]和[请求头]信息,此时请求头信息中多了参数Cookie
总结Cookie设置生效过程
当我们首次访问设置Cookie的页面时,服务器会把设置的Cookie值通过响应头发送过来,告诉浏览器将cookie存储的本地相应文件夹中(注意:第一次访问时本地还没有存储Cookie,所以此时获取不到值);
当第二次访问(或在进行cookie设置后,过期前所有的访问)时,请求头信息你中都会把Cookie值携带。
下面用图片更加形象的演示Cookie设置生效过程
版权声明:
作者:超级管理员
链接:
https://blog.apecloud.ltd/article/detail.html?id=49
来源:猿码云个人技术站
文章版权归作者所有,未经允许请勿转载。
共有0条评论