PHP不能第一次得到cookie问题。
首先,编写以下简单代码:复制代码代码如下所示:
< PHP
setcookie('a',币值的);
打印_cookie美元{'a' };
第一次访问是错误的:
究其原因,错误是价值$ _cookie {'a' }不存在。二访问:
问:为什么第一次来访时没有饼干我不先设置,我明白了吗
答:使用Firefox的Firebug的网络视图:
客户uff1a
我们可以看到浏览器(客户端)向服务器发出请求,请求在请求头信息中及时显示,用各种参数告诉服务器,我想接收什么文本(接受)编码格式(接受编码),什么,什么语言(接受语言)等,当然,也将cookie传播到服务器(cookie)。
服务器端:
第一步:setcookie('a',币值的)
因为Cookie是在客户端设置的功能,setcookie不能设置cookie本身,它只能通过头信息的方式告诉浏览器:哥哥,我想建立一个cookie,关键的是,价值是价值,你帮我把它给你。你也可以可以理解为:我今天高兴,给你一块饼干。
第二步:$ _cookie {'a' } $ _cookie {'a' }
很简单,操作是搜索浏览器带来的cookie字符串中的A的cookie并返回它的值。
显然,关键是找不到cookie,因为当客户端访问服务器时,cookie不存在,而设置cookie头信息的第一步还没有返回到客户机(从语句的上到下执行的PHP将返回到客户机)。
第三步:服务器返回信息
其中,头信息以设置cookie a值返回。浏览器接收头信息并将cookie存储在计算机的文件中。不同浏览器的cookie位置不同。这不在本文的讨论范围之内。
当你刷新浏览器再次访问该服务器,你也会带来很多的头信息到服务器,但是这一次,饼干与过去比a值的心_cookie美元{'a' }自然发现价值的关键的cookie cookie字符串的字符串。