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字符串的字符串。