<PHP>COOKIE

什么是cookie

cookie是服务器暂时存放再自己电脑当中的资料,方便服务器辨认自己的计算机
cookie是由服务器端生成,发送给User-Agent,浏览器将Cookie的key/value(键值对)保存到某个目录下的txt文件内,下次请求同一网站时就返送该Cookie给服务器

举例cookie的方便性

  • 用户登录,记住账号密码,下次访问该网站时就可以保存登陆状态
  • “购物车”用户再不同页面选中,添加到购物车,也会写入cookie

cookie工作原理

在这里插入图片描述

cookie操作

添加cookie数据

函数: setcookie($name,$value,$expire,$path,$domain,$secure)

cookie中的数据都是以键值对保存的

参数

  • $name:cookie的名称
  • $value:cookie的值
  • $expire:cookie的有效期
  • $path:cookie的服务器路径
  • $domain:cookie所在域
  • $secure:是否通过安全HTTPS连接来传输cookie

函数返回bool,成功返回TRUE,失败返回FALSE

<?php
setcookie("username","abc");
setcookie("password","12345");
设定cookie有效时间

参数$expire,指定cookie保存的时间,cookie默认是关闭浏览器时cookie失效

$expire是一个时间戳,一般用time()设置时间戳并加上固定秒值

<?php
//设定一周后过期
setcookie("username","abc",time()+7*24*3600);
setcookie("password","12345",time()+7*24*3600);
设定cookie有效路径

设定cookie只能在指定目录下生效
参数$path,默认“/”当前网址根目录

//path为某一目录
setcookie("username","abc",time()+7*24*3600,"/path");
setcookie("password","12345",time()+7*24*3600,"/path");
设定cookie有效域名

用bilibili举例
域名划分

  • 主域名:bilibili.com
  • 一级域名:www.bilibili.com 主站
  • 二级域名:www.space.bilibili.com b站用户中心

二级域名是一级域名的下属
如果将cookie设定为主域名,则所有子域名也可用

//path为某一目录
//主域名在所有子域名下都可用
setcookie("username","abc",time()+7*24*3600,"/","bilibili.com");
//子域名只能在当前域名下使用
setcookie("password","12345",time()+7*24*3600,"/","www.bilibili.com");
是否https安全连接发送cookie

默认情况下http协议发送,如果仅限https发送cookie数据,则在http写一下无法获取

//true:只能通过https发送cookie
//false:可以通过http发送cookie  默认为false
setcookie("username","abc",time()+7*24*3600,"/","bilibili.com",false);
setcookie("password","12345",time()+7*24*3600,"/","www.bilibili.com",true);

读取cookie数据

通过超全局数组 **$_COOKIE[ ]**来实现

//通过键值对获取cookie
用户名: $_COOKIE['username'];
密码: $_COOKIE['password'];

删除cookie的方法

将有效时间设定为过去的时刻

setcookie("username","abc",time()-1);
setcookie("password","12345",time()-1);

将cookie值设为空或false

setcookie("username","");
setcookie("password",false);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值