
正文
PHP cookie基本操作
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
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
//获取用户是否选中了保存id
if(!empty($_POST[‘cookie'])){
setcookie(“id”,$id,time()-);
}else{
if(!empty($_COOKIE[‘id'])){
setcookie(“id”,$id,time()-);
}
}
setcookie(name,value,expire,path,domain,secure);
setcookie(string 名字,string 值,int 超期时间,string 路径,string 域名,bool 安全连接);
注释:setcookie() 函数必须位于 <html> 标签之前。
**name 必需。**规定 cookie 的名称。
**value 可选。**规定 cookie 的值。
**expire 可选。**规定 cookie 的过期时间。time()+36002430 将设置 cookie 的过期时间为 30 天。如果这个参数没有设置,那么 cookie 将在 session 结束后(即浏览器关闭时)自动失效。
**path 可选。**规定 cookie 的服务器路径。如果路径设置为 “/”,那么 cookie 将在整个域名内有效.如果路径设置为 “/test/”,那么 cookie 将在 test 目录下及其所有子目录下有效。默认的路径值是 cookie 所处的当前目录。
**domain 可选。**规定 cookie 的域名。为了让 cookie 在 example.com 的所有子域名中有效,您需要把 cookie 的域名设置为 “.example.com”。当您把 cookie 的域名设置为 www.example.com 时,cookie 仅在 www 子域名中有效。
**secure 可选。**规定是否需要在安全的 HTTPS 连接来传输 cookie。如果 cookie 需要在安全的 HTTPS 连接下传输,则设置为 TRUE。默认是 FALSE。







