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); } } |
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持服务器之家!
原文链接:http://www.cnblogs.com/zxf100/p/6736019.html