PHP 全局变量数组:Cookies 变量 $_COOKIE
Cookie 是什么
cookie 常用于识别用户。cookie 是一种服务器留在用户计算机上的小文件。每当同一台计算机通过浏览器请求页面时,这台计算机将会发送 cookie 。通过 PHP ,能够创建并取回 cookie 的值。
原理
cookie 是保存在客户端的信息报(一个文件)
- 客户端向服务器发送请求
- 服务器将值放到响应头中发送到客户端
- 浏览器自动的将信息放到请求头中带到服务器
设置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方法三