Cookie 是一个以文本形式记录信息的,当我们再次访问一个网站时,浏览器会自动把与该站点对应的 Cookie 信息全部发送给服务器。
从 PHP5 之后,任何 Cookie 信息都会被自动保存在超全局变量 $_COOKIE 中,所以在每个 PHP 脚本中都可以从 $_COOKIE 中读取相应的 Cookie 信息。$_COOKIE 中存储着所有通过 HTTP 传递的 Cookie 内容,并以 Cookie 的识别名称为索引值、内容值为元素。
在设置 Cookie 的脚本中,第一次读取它的信息并不会生效,必须刷新或下一个执行脚本时才可以看到 Cookie 值,因为 Cookie 要先被设置到浏览器中,当再次访问时才能被发送过来,这时才能被获取。所以要测试一个 Cookie 是否被成功设定,可以再其到期之前通过另外一个页面来访问其的值。
【示例】使用超全局变量 $_COOKIE 获取 Cookie 的值。
[PHP] 纯文本查看 复制代码 <?php
if(!isset($_COOKIE['time'])){ //检测 Cookie 文件是否存在
setcookie('time',date('Y-m-d H:i:s')); //设置一个 Cookie 变量
echo "第一次访问<br>";
}else{
echo "上次访问的时间为:".$_COOKIE['time'].'<br>'; //输出上次访问网站的时间
setcookie('time',date('Y-m-d H:i:s'),time()+60); //设置保存 Cookie 失效的时间的变量
}
echo "本次访问的时间为:".date('Y-m-d H:i:s'); //输出当前的访问时间
?>
首次运行的结果如下:
第一次访问
本次访问的时间为:2020-04-24 10:49:48
再次运行的结果如下:
上次访问的时间为:2020-04-24 10:49:48
本次访问的时间为:2020-04-24 10:50:11
|