PHP Cookie


2021年12月18日, Learn eTutorial
1597

在本PHP教程中,您将学习有关PHP中Cookies的所有知识。我们还将讨论如何创建cookies、检查cookies、访问cookies以及删除cookies。

PHP中的Cookies是什么?

Cookie是由Web服务器存储在客户端计算机上的一个小型文件,最大大小约为4KB。它们通常用于保存像用户名这样的信息,这有助于用户在下次访问网站时,根据用户查看定制化的网页。Cookie只能从其发行的域中读取。Cookies通常放在HTTP头中,但JavaScript也可以直接在浏览器上设置cookie。

PHP : Html Form

如何在PHP中创建cookies?

要在PHP中创建cookies,我们使用 setcookie() 函数。setcookie() 方法必须在任何脚本输出创建之前调用,否则cookie将不会被设置。
语法


setcookie(name, value, expire, path, domain, security);

在 setcookie() 函数中我们传递以下参数:

  •     name – 用于定义cookie的名称
  •     value – 用于设置cookie的值
  •     expire – 用于设置过期时间,之后cookie将无法访问
  •     path – 用于指定服务器上可以访问cookie的路径
  •     domain – 用于指定可以访问cookie的域
  •     security – 用于指定cookie只应在连接是安全的HTTPS连接时发送
     

示例


setcookie("username", "john", time()+2*24*60*60);

如何在PHP中检查cookie是否已设置?

在尝试访问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

如何在PHP中访问cookies?

要访问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>


PHP - Cookie

如何在PHP中删除或移除cookies?

要移除一个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>


PHP - Cookie