在本PHP教程中,您将学习有关PHP中Cookies的所有知识。我们还将讨论如何创建cookies、检查cookies、访问cookies以及删除cookies。
Cookie是由Web服务器存储在客户端计算机上的一个小型文件,最大大小约为4KB。它们通常用于保存像用户名这样的信息,这有助于用户在下次访问网站时,根据用户查看定制化的网页。Cookie只能从其发行的域中读取。Cookies通常放在HTTP头中,但JavaScript也可以直接在浏览器上设置cookie。

要在PHP中创建cookies,我们使用 setcookie() 函数。setcookie() 方法必须在任何脚本输出创建之前调用,否则cookie将不会被设置。
语法
setcookie(name, value, expire, path, domain, security);
在 setcookie() 函数中我们传递以下参数:
示例
setcookie("username", "john", time()+2*24*60*60);
在尝试访问cookie之前,最好先检查cookie是否已正确设置。要在PHP中检查cookie是否已设置,我们使用 isset() 函数,如果cookie可用,它将返回 TRUE。
示例
if (isset($_COOKIE['username'])) { echo "Cookie is available"; } else { echo "Cookie is not available"; }
输出
Cookie is not available
要访问cookie的值,我们使用PHP的 $_COOKIE[] 超全局变量或 $HTTP_COOKIE_VARS[] 变量。它通常是一个关联数组,包含浏览器在当前请求中提供的所有cookie值的列表,以cookie名称为键。使用普通的数组语法,可以获取单个cookie的值。
示例
<?php
setcookie("username", "john", time() + 2 * 24 * 60 * 60);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Cookies Sample Program</title>
</head>
<body>
<?php
if (isset($_COOKIE['username'])) {
echo "<h1> The username is " . $_COOKIE['username'] . "</h1>";
} else {
echo "Cookie is not available";
}
?>
</body>
</html>
要移除一个cookie,我们使用相同的 setcookie() 方法。要删除一个cookie,使用 setcookie() 函数,并指定之前定义的cookie名称和其他参数或空字符串,但这次过期日期必须设置为过去的时间。
示例
<?php
setcookie("username", "", time() - 60000);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Cookies Sample Program</title>
</head>
<body>
<?php
if (isset($_COOKIE['username'])) {
echo "<h1> The username is " . $_COOKIE['username'] . "</h1>";
} else {
echo "<h1> Cookie is not available... </h1>";
}
?>
</body>
</html>