为了账号安全,请及时绑定邮箱和手机立即绑定

请问,为什么使用php创建cookie 以后,需要刷新才会生效,是有什么原理么?

请问,为什么使用php创建cookie 以后,需要刷新才会生效,是有什么原理么?

冉冉说 2019-11-12 10:06:26
使用php创建cookie 以后为什么需要刷新才会生效
查看完整描述

4 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

以 

12setcookie('name'"Garen");echo $_COOKIE['name'];

为例;第一次访问在执行setcookie('name', "Garen");之前, PHP 已经从请求体重获取所有的 cookie(在$_COOKIE中),然后到setcookie('name', "Garen");的时候,只是设置了名为name 的 cookie;这部只是保存进浏览器,但是并没有赋值给$_COOKIE,$_COOKIE并没有变化,所有也就没有$_COOKIE['name'],执行到echo $_COOKIE['name'];就会报错.第2次访问获取浏览器中所有的 cookie 时,已经有了上次添加的这个名为name 的 cookie 了,所以可以显示


查看完整回答
反对 回复 2019-11-17
?
莫回无

TA贡献1865条经验 获得超7个赞

setcookie("citys",$_GET['adds'],time()+24*86400);
header("location:url");
设置完COOKIE后刷新页面。或是重定向即可。

查看完整回答
反对 回复 2019-11-17
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

使用COOKIE时不能设置了COOKIE后就直接调用,COOKIE是在访问页面时客户端浏览器自动发送给服务器的,而setcookie是给浏览器发送头后,浏览器保存的数据,不可一次性操作。
你可以写两个页面试试,一个 setcookie ,另一个用 print_r( $_COOKIE ); 看看是否显示。

查看完整回答
反对 回复 2019-11-17
  • 4 回答
  • 0 关注
  • 1074 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信