php不克不及猎取cookie成绩解决办法:起首设置一个cookie,键为a,值为value;而后正在cookie字符串中搜寻a的cookie并前往它的值;最初刷新阅读器,再次拜访效劳器的时分就多了一个a=value了。
成绩概况
起首编写如下简略的代码:
代码以下:
<?php setcookie('a','value'); print $_COOKIE['a'];
第一次拜访时,报错:
报错的缘由是$_COOKIE['a']
的值没有存正在。第二次拜访:value
相干学习保举:php视频教程
问:为何第一次拜访的时分,会不cookie呢??我没有是先设置,再猎取吗??
答:应用firefox的firebug查看”网络“:
客户端:
能够看到,阅读器(客户端)向效劳器收回一次申请,收回申请的时分,正在申请头信息中带上了各类参数,通知效劳器,我要接纳甚么样的文本(Accept)、甚么编码格局(Accept-Encoding)、甚么言语(Accept-Language)等等,当然,还把Cookie也传到了效劳器(Cookie)。
效劳器端:
第一步:setcookie('a','value')
由于cookie是设置正在客户真个,setcookie函数本人其实不能设置cookie,它只能经过头信息的形式通知阅读器说:兄弟,我要设置一个cookie,键为a,值为value,你正在你哪里帮我设置一下。你也能够了解为:”来,朕明天快乐,赏你一个小甜饼“。
第二步:$_COOKIE['a']$_COOKIE['a']
很简略,执行的操作就是正在阅读器带过去的cookie字符串中搜寻键为a的cookie,并前往它的值。
很显著,这个”键为a“的cookie不成能找到,由于客户端拜访效劳器的时分,这个cookie压根就没有存正在,而后面第一步设置cookie的头信息,也尚未前往给客户端(php要从上到下把语句执行完才会前往给客户端)
第三步:效劳器前往信息
此中,前往的头信息中带有Set-Cookie a=value
,阅读器收到这个头信息,把cookie寄存到电脑的某个文件中,关于没有同阅读器cookie的寄存地位貌似没有同,这个没有正在本文的范畴。
刷新阅读器,再次拜访效劳器的时分,一样,也会把不少头信息带给效劳器,只不外此次带过来的cookie中,就多了一个a=value
了。以是$_COOKIE['a']
天然就能从cookie字符串中找到这个键为a的cookie的值。
以上就是php不克不及猎取cookie成绩解决的具体内容,更多请存眷资源魔其它相干文章!
标签: php cookie php教程 php故障解决 php使用问题
抱歉,评论功能暂时关闭!