Cookie是客户端技能,当客户端要求做事器的时候,随身携带数据过去

例如:我们去超市购物,买很多东西,超市会给我们办会员卡,会员卡就会保存我们购买的商品信息,往后我们只须要拿着会员卡就可以

Cookie事理先容

php跨域写cookiePHP会话技巧Cookie篇 Bootstrap

当客户端要求做事器时,做事器会见告浏览器在自己身上做一个标记(cookie),这样,往后浏览器都会携带标记去要求做事器。

Cookie运用处景

场景1:最近浏览过哪些商品?

利用cookie实现的,将点击浏览的商品保存到cookie文件,往后再访问的时候,再去读取cookie文件中的商品

场景2:登录时,如果选择记住用户名、下次自动登录,就会把本次登录成功的用户名保存到cookie中,然后再输入框读取

Cookie基本利用

创建cookie

关于setcookie( )的7个参数

参数1:保存的cookie变量名称

参数2:变量对应的值

参数3:cookie文件的有效期

参数4:有效路径

默认情形只许可访问当前目录、当前目录子目录下面的cookie,不能访问上一级目录里面定义的cookie

我们可以通过第4个参数设置为/ ,设置cookie起浸染的路径:

/ 表示做事器的根目录,也便是在全体做事器的根目录下都起浸染

setcookie('name','zhangsan',time()+100,'/');

参数5:有效域名(cookie不支持跨域利用,可以通过参数5指定cookie在哪个域名下起浸染)

参数6:是否只许可在https协议下利用

如果设置为true,就表示该cookie只能在https协议下进行传输

参数7:为了防止cookie被挟制定义的参数,只许可在http协议下传输(在web做事器下进行传输)

如果设置为false,许可该cookie在任何协议下都能传输

读取cookie(查询)

echo $_COOKIE['name'];

删除cookie

先将cookie的有效期设置为过期

再将$_COOKIE超全局数组中的cookie变量删除

PHP中删除cookie

Cookie细节

Cookie默认每个域名下最多创建20个cookie,每个cookie文件最多存储4K旁边的数据,当然chrome浏览器创建的cookie更大18KB

setcookie前面不能有任何输出,echo 、var_dump()等

由于setcookie是做事器见告浏览器的,见告浏览器在自己身上创建cookie文件,做事器向浏览器回应信息是通过header头信息回应的

正常的http要求时,先向浏览器发出header头信息,再输出内容,如果先echo,再发出header头信息的时候,就违反了http协议