PHP下的Cookies

1. 了解Cookie

Cookie是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie是访问某个站点时,随某个HTML网页发送到浏览器中 的一小段信息,它以文本文件的形式在客户端计算机上保存。文本文件的命令格式如下:
用户名@网站地址[数字].txt
Cookie百度百科:点击查看
当使用浏览器访问Web网站时,Web 服务器会自动以上述命令格式生成相应的Cookies文本文件,并存储在用户硬盘的指定位置。

注意:每个Cookie文件都是一个简单普通的文本文件,而不是程序。Cookies中的内容大多数经过了加密处理,只有服务器的CGI处理程序才知道它们真正的含义。

使用Cookie可以记录客户的用户ID、密码、浏览过的网页和停留的时间等信息。Cookie常用于以下3个方面:
- 记录访客的某些信息。如应用Cookie自动记录访客上次登录的用户名。
- 在页面间传递变量。浏览器不会保存当前页面上的任何变量信息,当页面关闭,页面上的所有变量信息将随之消失。若用户要把某一变量传递到另一个页面,可以将该变量以Cookie形式保存下来,然后在下一页通过Cookie获取变量的值。
- 将所查看的Internet页存储在Cookie临时文件夹中,可以提高以后浏览速度。

2. PHP创建Cookie

在PHP中通过setcookie()函数创建Cookie。
Cookie是HTTP头标的组成部分,头标必须在页面其他内容之前发送,必须是最先输出,否则会导致程序出错。
setcookie()函数语法如下:
bool setcookie (string name[,string value[,int expire[,string path[,string domain[,int secure]]]]])
参数说明:
- name ——Cookie的变量名
- value ——Cookie变量的值,该值保存在客户端,不能用来保存敏感数据
- expire ——Cookie的失效时间,expire是标准的Unix时间标记,可用time()函数或mktime()函数获取,单位为秒
- path ——Cookie在服务器端的有效路径
- domain——Cookie有效的域名
- secure ——指明Cookie是否仅通过安全的HTTPS,值为0或1

<?php
setcookie("TMCookie",'www.mr.com');
setcookie("TMCookie", 'www.mr.com', time()+60);       //设置cookie有效时间为60秒
$value=5; //Cookie变量的值
//设置有效时间为60秒,有效目录为“/mr/”,有效域名为“mr.com”及其所有子域名,仅通过安全的HTTPS
setcookie("TMCookie", $value, time()+3600, "/mr/",". mr.com", 1);
?>

运行后,在Cookies下会自动生成一个Cookie文件。
TMCookie文件

3. 读取Cookie

在PHP中通过超级全局数组$_COOKIE[]来读取浏览器端的Cookie值。
实例如下:

<?php
if(!isset($_COOKIE["php_cookie"])){//如果Cookie文件是否存在,如果不存在
    setcookie("php_cookie",date("y-m-d H:i:s")); //设置一个Cookie变量
    echo "欢迎您第一次访问网站!"; //输出字符串
}else{                          //如果Cookie存在
    setcookie("php_cookie",date("y-m-d H:i:s"),time()+60);  //设置带Cookie失效时间的变量
     echo "您上次访问网站的时间为:".$_COOKIE["php_cookie"];   //输出上次访问网站的时间
    echo "<br>";                        //输出回车符
}
    echo "您本次访问网站的时间为: ".date("y-m-d H:i:s");   //输出当前的访问时间
?>

首次运行先创建一个Cookie
这里写图片描述

首次运行结果:
首次运行
再次运行结果:
再次运行

注意:若没有设置Cookie的到期时间,将在关闭浏览器时自动删除Cookie数据。若为Cookie设置了到期时间,浏览器将会记住Cookie数据,直到过期。

4. 删除Cookie

方法有两种:一种是应用setcookie()函数删除,另一种是应用浏览器手动删除。
(1)用setcookie()函数删除
只需要将setcookie函数中的第二个参数设为空,第三个参数将Cookie的过期时间设置为小于当前系统时间即可。
(2)应用浏览器手动删除Cookie。
略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值