PHP Cookie
更新:HHH   时间:2023-1-7


PHP Cookie
Cookie是存储在客户端计算机上的文本文件,它们保留用于跟踪目的。PHP透明地支持HTTP cookie。
识别回归用户涉及三个步骤
服务器脚本将一组cookie发送到浏览器。例如年龄等。
浏览器将此信息存储在本地计算机上以供将来使用
当下次浏览器向Web服务器发送任何请求时,它会将这些cookie信息发送到服务器,服务器使用该信息来识别用户。
本章将教您如何设置cookie,如何访问它们以及如何删除它们。
用PHP设置Cookies
PHP提供了setcookie()函数来设置cookie。此函数最多需要六个参数,应在<html>标记之前调用。对于设置每一个cookie,必须单独调用此函数。
setcookie(name, value, expire, path, domain, security);
这是所有参数的细节
name - 设置cookie的名称。
value - 设置命名变量的值,并且是您实际要存储的内容。
expire - 这指定自1970年1月1日格林尼治标准时间00:00:00以来的未来时间(以秒为单位)。在此之后,cookie将无法访问。如果未设置此参数,则在Web浏览器关闭时cookie将自动过期。
path - 指定cookie有效的目录。单个正斜杠字符允许cookie对所有目录有效。
domain - 这可用于在非常大的域中指定域名,并且必须至少包含两个有效期。所有cookie仅对创建它们的主机和域有效。
security - 可以设置为1以指定cookie应仅通过使用HTTPS的安全传输发送,否则设置为0,这意味着cookie可以通过常规HTTP发送。
以下示例将创建两个cookie 名称和年龄,这些cookie将在一小时后过期。

setcookie("name", "John Watkin", time()+3600, "/","", 0);
setcookie("age", "36", time()+3600, "/", "",  0);
<html>
<head>
<title>用PHP设置Cookies</title>
</head>
<body>
echo "设置 Cookies"
</body>
</html>

打开浏览器访问脚本,然后按F12打开开发者模式,选择Network(网络)选项卡,选择Headers,可以看到如下图所示:

用PHP删除Cookie
正式地说,要删除一个cookie,你应该只使用name参数调用setcookie()[也就是说想删除那个name,把他设置成空],但这并不总是有效,不应该依赖。最安全的做法是设置一个已经过期的日期
/ 设置过去时间为当前时间的之前的60秒 /

setcookie( "name", "", time()- 60, "/","", 0);
setcookie( "age", "", time()- 60, "/","", 0);
<html><head>
<title>用PHP删除cookie</title>
</head><body>
echo "删除cookie"
</body>
</html>

更多的PHP Cookie

返回web开发教程...