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

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

/ 猿问

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

冉冉说 2019-11-12 10:06:26

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


查看完整描述

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


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

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

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

创建 cookie通过 setcookie() 函数来创建一个 cookie ,成功返回 TRUE ,否则返回 FALSE 。
语法bool setcookie( string name [, string value [, int expire [, string path [, string domain ]]]] )
cookie注意事项
1、SetCookie()之前不能有任何html输出,就是空格,空白行都不行。
2、SetCookie()后,你在当前页调用echo $_COOKIE["name"]不会有输出。必须刷新或到下一个页面在过期之前才可以看到Cookie值。
3、由于 cookie 信息存储于用户的计算机中,那么就有可能伪造或修改 cookie 从而造成 cookie 欺骗,一般可以对 cookie 的值进行加密来预防欺骗。读取 cookie 的时候,对 cookie 解密即可。
4、Cookie是保存在客户端的,用户禁用了Cookie,你的Cookie自然也就没作用啦!

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

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

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

添加回答

回复

举报

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