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

使用php创建cookie 以后为什么需要刷新才会生效


冉冉说
浏览 996回答 4
4回答

慕码人8056858

以 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 了,所以可以显示

莫回无

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

繁花不似锦

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