PHP 全局变量数组:Cookies 变量 $_COOKIE 2 个改进

Cookie 是什么

cookie 常用于识别用户。cookie 是一种服务器留在用户计算机上的小文件。每当同一台计算机通过浏览器请求页面时,这台计算机将会发送 cookie 。通过 PHP ,能够创建并取回 cookie 的值。

原理

cookie 是保存在客户端的信息报(一个文件)

  1. 客户端向服务器发送请求
  2. 服务器将值放到响应头中发送到客户端
  3. 浏览器自动的将信息放到请求头中带到服务器

设置Cookie

setcookie() 函数用于设置 cookie 。

注意:setcookie() 函数必须位于 标签之前。

语法

setcookie(name,value,expire,path,domain,secure)
参数 描述
name 必需。规定 cookie 的名称。
value 必需。规定 cookie 的值。
expire 可选。规定 cookie 的过期时间。time()+36002430 将设置 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。

例子

在下面的例子中,我们将创建一个名为 “user” 的 cookie,并给它赋值为 “zhangsan” 。同时规定它一个小时后过期。

<?php
setcookie("user","zhangsan", time()+3600);
?>
<html>
</html>

获取Cookie

PHP$_COOKIE 变量用于获取 cookie 的值。

下面的例子,我们获取名为 “user” 的 cookie 的值,并在页面打印出它

echo $_COOKIE["user"];

输出

zhangsan

我们还可以通过 isset() 函数判断是否设置了 cookie 。

if(isset($_COOKIE["user"])){
    echo "欢迎您" . $_COOKIE["user"];
}else{
    echo "请登录!";
}

删除Cookie

setcookie("user",false); //删除cookie方法一
setcookie("user"); //删除cookie方法二
setcookie("user","zhangsan", time()-1); //删除cookie方法三
本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!