PHP学习笔记14:会话控制

1. cookie简介

  • cookie是存储在客户浏览器中的数据,通过cookie来跟踪与存储用户数据
  • 一般cookie通过HTTP headers从服务端返回到客户端
  • cookie存在于HTTP的标头之中,所以必须在其他信息输出以前进行设置
  • PHP通过setcookie函数设置cookie,任何从浏览器发回的cookie都会自动存储在$_COOKIE全局变量中,可以通过$_COOKIE['key']的形式读取某个cookie值
2. 设置cookie
  • setcookie函数:有7个可选参数
  1. name:名称,之后可以通过$_cookie['name']进行访问
  2. value:cookie的值
  3. expire:过期时间,Unix时间戳(Unix纪元:格林威治时间1970年1月1日00:00:00以来的秒数),可以表示为time()+秒数;默认为0,即关闭浏览器即失效
  4. path:有效的服务器路径,如果设置成‘/’则对整个域名都有效,如果设置为‘/foo/’,则对域名中的/foo/目录及其子目录有效
  5. domin:有效域名/子域名,默认对整个域名有效,如果设置成‘www.imooc.com’则只对www子域有效
  6. secure:是否仅通过HTTPS连接传送给客户
  7. httponly:是否仅通过HTTP协议访问
3. 删除cookie
setcookie('name','',time()-1);
4. session与cookie的异同
  • cookie的缺点:不太安全,容易被盗用导致cookie欺骗;单个cookie只能最大存储4k数据;每次请求都进行网络传输,占用带宽;只支持字符串类型
  • session:用于保持用户连续访问Web应用时的相关数据,将用户的会话数据存储在服务端,没有大小限制,通过session_id进行用户识别,支持多种数据类型
  • 联系:PHP默认情况下session_id是通过cookie来保存的
5. 使用session
session_start()开启session,然后通过全局变量$_SESSION进行session续写
session_start();
$_SESSION['test']=time();
6. 删除和销毁session
  • 删除某个session值使用unset()函数                                                                                                                  
session_start();
$_SESSION['test']=time();
unset($_SESSION['time']);
  • 删除所有的session使用session_destroy()函数,但是session_id仍然存在,而且不会立即销毁$_SESSION中的值,只有当下次访问时才为空
session_start();
$_SESSION['test']=time();
$_SESSION['name']='job';
session_destroy();








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值