一:Cookie是在远程浏览器端存储数据并以此跟踪和识别用户的机制,客户端(浏览器)通过HTTP和服务端进行Cookie交互,Cookie是由浏览器实现并管理的,根据浏览器的存储策略不同,Cookie可以保存在浏览器内存或文件中。

二:Cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当同一台计算机通过浏览器请求页面时,就会发送这个 cookie。

三:Cookie通常用来存储一些不是很敏感的信息,或者进行登录控制,购物车,免密登录等。

四:每个域名下允许的Cookie是有限的,根据浏览器的限制决定,如果一个域内的Cookie数量过于庞大,会增加带宽压力,不要滥用。

PHP设置Cookie

setcookie() 函数

定义和用法

setcookie() 函数向客户端发送一个 HTTP cookie。

原理上,php并不能直接设置cookie,而是发送指令给浏览器,让浏览器来设置。

如果成功,该函数返回 TRUE。如果失败则返回 FALSE。

需要注意的点:

  1. Cookie是HTTP头的一部分,即先发送或请求Cookie,然后才是data域。因此setcookie()等函数必须在其输出数据之前调用,这和header()函数的一样的。
  2. 由PHP在当前页设置的Cookie不能立即生效,要等到下一个页面才能看到,这是由于设置的页面从服务端穿给浏览器,浏览器要在下一个页面才能把Cookie信息从客户端传回服务端。如果是Javascript设置的,是立即生效的。

语法

setcookie(name,value,expire,path,domain,secure)

参数描述
name必需。规定 cookie 的名称。
value必需。规定 cookie 的值。
expire可选。规定 cookie 的过期时间。time()+3600*24*30 将设置 cookie 的过期时间为 30 天。如果这个参数没有设置,那么 cookie 将在 session 结束后(即浏览器关闭时)自动失效。
path可选。规定 cookie 的服务器路径。如果路径设置为 “/”,那么 cookie 将在整个域名内有效.如果路径设置为 “/test/”,那么 cookie 将在 test 目录下及其所有子目录下有效。默认的路径值是 cookie 所处的当前目录。
domain可选。规定 cookie 的域名。为了让 cookie 在 example.com 的所有子域名中有效,您需要把 cookie 的域名设置为 “.example.com”。当您把 cookie 的域名设置为 www.example.com 时,cookie 仅在 www 子域名中有效。
secure可选。规定是否需要在安全的 HTTPS 连接来传输 cookie。如果 cookie 需要在安全的 HTTPS 连接下传输,则设置为 TRUE。默认是 FALSE。

删除Cookie

1、将Cookie的expire设置为过期时间或0,将Cookie的值设为null。