首页 > 编程笔记 > PHP笔记 阅读:14

Cookie是什么,PHP Cookie的用法(附带实例)

Cookie 常用于识别用户。Cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 Cookie。

Cookie 的工作原理是,当一个客户端浏览器连接到一个 URL 时,它会首先扫描本地存储的 Cookie,如果发现其中有和 URL 相关联的 Cookie,就会把它们返回给服务器端。

Cookie 通常应用于以下几个方面:
用户可以通过 header 以如下格式在客户端生成 Cookie:
Set-cookie:NAME = VALUE;[expires=DATE;][path=PATH;][domain=DOMAIN_NAME;][secure]
NAME 为 Cookie 的名称,VALUE 为 Cookie 的值,expires=DATE 为到期日,path=PATH、domain=DOMAIN_NAME 为与某个地址相对应的路径和域名,secure 表示 Cookie 不能通过单一的 HTTP 连接传递。

PHP创建Cookie

用户能够通过 PHP 创建 Cookie。创建 Cookie 使用 setcookie() 函数,语法格式如下:
setcookie(名称, cookie值, 到期日, 路径, 域名, secure)
其中的参数与 set-cookie 中的参数意义相同。

setcookie() 函数必须位于 <html> 标签之前。

在下面的例子中将创建名为 user 的 Cookie,为它赋值为“Cookie保存的值”,并且规定此 Cookie 在一小时后过期。
<?php
setcookie("user", " Cookie保存的值", time()+3600);
?>
<html>
<body>
</body>
</html>
运行上述程序,会在 Cookies 文件夹下自动生成一个 Cookie 文件,有效期为一个小时,在 Cookie 失效后,Cookies 文件自动被删除。

提示,如果用户没有设置 Cookie 的到期时间,则在关闭浏览器时会自动删除 Cookie 数据。

PHP读取Cookie

那么如何取回 Cookie 的值呢?在 PHP 中使用 $_COOKIE 变量取回 Cookie 的值。

下面通过实例讲解如何取回上面创建的名为 user 的 Cookie 的值,并把它显示在页面上。
<?php
// 输出一个Cookie
echo $_COOKIE["user"];
// 显示所有的Cookie
print_r($_COOKIE);
?>
程序运行效果如下图所示:


用户可以通过 isset() 函数来确认是否已设置 Cookie。例如:
<?php
if (isset($_COOKIE["user"]))                        //如果Cookie文件存在
    echo "Welcome " . $_COOKIE["user"] . "!<br/>";
else                                                //如果Cookie文件不存在
    echo "Welcome guest!<br/>";
?>
程序运行效果如下图所示:

PHP删除Cookie

常见的删除 Cookie 的方法有两种,包括在浏览器中手动删除和使用函数删除。

1) 在浏览器中手动删除

由于 Cookie 自动生成的文本会存在于 IE 浏览器的 Cookies 临时文件夹中,在浏览器中删除 Cookie 文件是比较快捷的方法,具体的操作步骤如下:

① 在浏览器的菜单栏中选择“工具”→“Internet选项”命令,如下图所示:


② 打开【Internet选项】对话框,在【常规】选项卡中单击【删除】按钮,如下图所示:


③ 打开【删除浏览历史记录】对话框,选中【Cookie和网站数据】复选框,单击【删除】按钮即可,如下图所示:


返回【Internet选项】对话框,单击【确定】按钮即可完成删除 Cookie 的操作。

2) 使用函数删除

删除 Cookie 仍然使用 setcookie() 函数。当删除 Cookie 时,将第二个参数设置为空,第三个参数的过期时间设置为小于系统的当前时间即可。
<?php
//将Cookie的过期时间设置为比当前时间减少10秒
setcookie("user", "", time()-10);
?>
在上面的代码中,time() 函数返回的是当前的系统时间,把过期时间减少 10秒,这样过期时间就会变成过去的时间,从而删除 Cookie。如果将过期时间设置为 0,也可以直接删除 Cookie。

相关文章