Cookie

Cookie 是一种在客户端存储数据并用这些数据来跟踪和识别用户的机制。Cookie 在 Web 服务器端产生,并以文本文件的形式存储在了客户端电脑的硬盘上。

cookie 通常用于以下 3 个方面:

1)记录用户信息,如上次登陆的用户名等。
2)页面之间传递参数。
3)将HTML页面存储在 Cookie 中,提高页面浏览速度。

1、创建Cookie

在 PHP 中,setcookie() 函数可以用来创建 Cookie,但是如果客户端浏览器禁用了 Cookie,则 setcookie() 函数会返回 false。

常见创建 Cookie 的语法格式,有以下两种:

创建 Cookie 语法格式:
bool setcookie(名称 , 值)
注意:Cookie 会在会话结束(浏览器整体关闭)时失效。

创建 Cookie 语法格式:
bool setcookie(名称 , 值 , 有效期)
注意:Cookie 会在有效期过后失效。

2、读取 Cookie

PHP 提供了全局变量 $_COOKIE 来读取 Cookie 的值。

读取Cookie语法格式:
$变量 = $_COOKIE[“名称”]

示例1

<?php
header(“content-type:text/html;charset=utf-8”);
setcookie(“userName”,”张小明”,time()+3600);
if(isset($_COOKIE[“userName”])){
$name=$_COOKIE[“userName”];
echo$name;
}
else{
echo”Cookie还未创建”;
}
代码讲解
1、创建 Cookie
setcookie(“userName”,”张小明”,time()+3600);
通过 setcookie() 函数创建 Cookie。
userName:Cookie 的名称。
张小明:Cookie 值。
time()+3600:Cookie 有效期,保存 1 个小时。
2、获得 Cookie
$name = $_COOKIE[“userName”];
通过 Cookie 的名称,获得 Cookie 的值。

3、删除 Cookie

没有设置有效期的 Cookie,在浏览器整体关闭时,就会自动删除。设置了有效期的 Cookie,在过了有效期之后,也会自动删除。

如果我们想提前删除 Cookie 中的值,可以通过 setcookie() 函数,重新将指定的 Cookie 值设置为空值。

示例2

<?php
header(“content-type:text/html;charset=utf-8”);
setcookie(“userName”,”张小明”,time()+3600);
setcookie(“userName”,””);
if(isset($_COOKIE[“userName”])){
$name=$_COOKIE[“userName”];
echo$name;
}
else{
echo”Cookie还未创建”;
}
代码讲解
1、删除 Cookie
setcookie(“userName”,””);
通过 setcookie() 函数,将名称为 “userName” 的 Cookie 值删除。