前言
本系列文章主要是根据实战视频《360大牛:全面解读PHP面试》学习过程中记录的学习笔记,期间也会加入查找资料和平时学习中学习到的知识。
Cookie
Cookie是一种服务器发送给客户端的片段信息,存储在客户端的内存或磁盘中。
如下创建 test.php 并编辑如下代码
<?php
setcookie('name','pino.pan');
echo $_COOKIE['name'];
?>
第一次访问test.php时,没有任何输出,并且如果开启了错误提示,会抛出一个 warning 。
第二次访问test.php时,会按照预期输出pino.pan。
原因:
因为cookie是设置在客户端的,setcookie函数自己并不能设置cookie,它只能通过响应头信息的方式告诉浏览器说:我要设置一个cookie,键为name,值为pino.pan,麻烦在浏览器帮我设置一下。而$_COOKIE是通过读取请求头中的COOKIE数据,再去搜索数组里面是否有对应的key。
因此第一次访问时,请求头的COOKIE中没有key为name的数据。此次响应后,浏览器会帮忙设置key为name,value为pino.pan的cookie,然后在第二次的请求中携带去访问脚本,此时就可以正常输出了。
参考链接:https://www.cnblogs.com/Mwsoft/p/4940268.html