手机版

php第一次无法获取cookie

时间:2021-09-09 来源:互联网 编辑:宝哥软件园 浏览:

首先,编写以下简单代码:

复制代码代码如下:php setcookie('a ',' value ');print $ _ COOKIE[' a '];

当我第一次访问时,我报告了一个错误:

报告该错误是因为$_COOKIE['a']的值不存在。第二次访问:

问:为什么你第一次来的时候没有饼干?我不是先定好了再去拿吗?

答:使用火狐的firebug查看“网络”:

客户:

可以看到浏览器(客户端)向服务器发送请求。当发送请求时,它在请求头信息中携带各种参数,告诉服务器什么样的文本(Accept)、Accept-Encoding格式、Accept-Language等。我还将Cookie发送到服务器。

服务器端:

步骤1: setcookie('a ','值')

因为cookie是在客户端设置的,所以setcookie函数不能自己设置cookie。它只能通过标头信息告诉浏览器:兄弟,我想设置一个cookie,密钥为A,值为value。你可以在你家为我安排。你也可以理解为:“来,我今天很开心,给你一块饼干”。

第二步:$_COOKIE['a']$_COOKIE['a']

很简单,操作就是在浏览器带来的cookie字符串中用键A搜索cookie并返回它的值。

很明显,这个带有“密钥A”的cookie是找不到的,因为当客户端访问服务器时,这个cookie根本不存在,第一步设置的cookie的头信息还没有返回给客户端(php自上而下执行语句后会返回给客户端)

第三步:服务器返回信息

其中,返回的头信息包含“Set-Cookie a=value”,浏览器接收该头信息,将Cookie存储在计算机的某个文件中。cookies的存储位置似乎因浏览器不同而不同,这超出了本文的讨论范围。

当你刷新浏览器并再次访问服务器时,你也会给服务器带来很多头信息,但这次在cookie中多了一个a=值。$_cookie['a']自然可以通过COOKIE字符串中的密钥a找到该COOKIE的值。

版权声明:php第一次无法获取cookie是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。