PHP中Cookie的使用详解

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
//添加cookie
setcookie("name","zxf",time()+3600);
//数组
 
/$arr = 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 => $value) {
 setcookie($key,"",time()-1);
 }
echo "成功";
 ?>

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

判断是否第一次登陆

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//获取用户是否选中了保存id
 
if(!empty($_POST[‘cookie'])){
 
  setcookie(“id”,$id,time()-100);
 
}else{
 
  if(!empty($_COOKIE[‘id'])){
 
   setcookie(“id”,$id,time()-10);
 
}
}

相关推荐

网友评论(0)