PHP中Cookie的使用详解

2025-3-26 / 0 评论 / 3 阅读

https://www.cnblogs.com/void9main/p/9342628.html

PHP中Cookie的使用---添加/更新/删除/获取Cookie 及 自动填写该用户的用户名和密码和判断是否第一次登陆

什么是cookie

服务器在客户端保存用户的信息,比如登录名,密码等

这些数据就像小甜饼一样,数据量并不大,服务器端在需要的时候可以从客户端读取,保存在客户端的浏览器缓存目录下

① 当浏览器访问,cookie.php时,服务器还以Set-Cookie:name=zxf;expire=Wed,21-Sep-2017 20:14 GMT会送http响应,当浏览器获取到该消息后,就会保存该cookie的信息到本地磁盘

② 如果我们没有时间(第三个参数)

cookie不会保存到客户端,当浏览器会话结束,cookie会失效

③ cookie保存的是字符串信息

④ 客户端可以保存多个key=>val

⑤ cookie在保存过程中,会对中文进行urlencode编码

cookie可以有多个key=>val,可以给不同的键值,制定不同的有效时间

代码如下:xx.php

12345678910111213141516171819202122232425262728 <?php//添加cookie``setcookie("name"``,"zxf"``,time()+3600);//数组 /$arr =<span> </span>array``(1,2,3); ``$arr_str = serialize($arr``); ``setcookie("a"``,$arr_str``,time()+3600); //获取cookie  var_dump($_COOKIE``); //更新cookie setcookie("name"``,"aaa"``,time()+3600); //删除cookie setcookie("name"``,""``,time()-20); //删除所有 foreach ($_COOKIE as $key =><span> </span>$value``) { ``setcookie($key``,""``,time()-1); ``}echo "成功";`` ?>

如果你删除的cookie的key=>val没有删除完,则这个cookie在客户端保留,如果把这个网站的cookie都删除的,则浏览器会把cookie文件删除

判断是否第一次登陆

123456789101112131415161718192021222324 <?php //先判断cookie里是否有上次的登录信息 if(!``empty(``$_COOKIE[‘lastVisit'])){   echo “你上次登陆的时间是”.$_COOKIE``[‘lastViat']; //更新时间 setcookie(“lastVisit”,”data(Y-m-d H:i:s)”, time()+3600); }else``{ //说明用户是第一次登陆 echo”第一次登陆”; //更新时间 setcookie(“lastViait”,”data(“Y-m-d H:i:s”)”, time()+3600); }?>

打开登陆界面的时候,自动填写该用户的用户名和密码

checklogin.php

1234567891011121314 //获取用户是否选中了保存id if(!``empty(``$_POST[‘cookie'])){   setcookie(“id”,``$id,time()-100); }else``{   if``(!empty``($_COOKIE``[‘id'])){    setcookie(“id”,``$id,time()-10); }}