-
PHP中的Session和Cookie
本篇文章和大家了解一下PHP中的Session和Cookie,有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
一、通过Session 和 Cookie 实现会话处理
1、HTTP协议是无状态的
服务器无法区分哪些请求来自哪些客户端,或者客户端是处于连接状态还是断开状态
2、Session
在用户访问网页与服务器断开连接的一个时间段内,Session可以跟踪用户的状态
3、Cookie
是一个文本文件,它位于客户端,这个文件里面存储了会话信息
二、什么是Session
1、Session 是一种会话,它记录会话信息,使得客户端与服务端的会话得以保持
2、创建一个会话
$_SESSION[‘name’] = ‘wuhenzhiyi’
三、Session的常用函数
1、Session的创建
session_start() 意味着一个会话的开始
2、Session的销毁
session_unset() 删除指定一个会话
session_destroy() 删除整个会话
- //开启一个会话
- session_start();
- //创建一个会话
- $_SESSION['name'] = 'wuhenzhiyi';
- //访问一个会话
- echo $_SESSION['name'];//输出 wuhen
- //删除指定的会话
- session_unset($_SESSION['name']);
- //删除全部会话
- session_destroy();
四、什么是Cookie
1、Cookie是网站区分不同访问者的身份而存储在客户端上的数据,是一个文本文件。
五、Cookie的工作机制
1、当客户端初次请求服务器的时候,服务端有设置Cookie的语句,服务器通过随着响应发送一个HTTP的Set-Cookie,在客户端设置一个Cookie文件
2、客户端再次向服务器端发送一个HTTP请求的时候,浏览器会把本地保存该请求地址的Cookie信息发送到服务器,服务器会自动读取。
六、Cookie的创建与销毁
1、setcookie() 创建一个cookie
2、setcookie()函数和header()函数一样,也是作为响应头header的一部分发送
3、所以调用该函数之前,不能有任何输出
4、因为Cookie是随标头一起发送的,所以当我们设置Cookie后,它在本页是不会生效的。
5、cookie的删除
将其值设置为空,或设置有效期是过去的时间
- //创建一个cookie
- //设置一个有效期为7天的cookie
- setcookie('name','wuhenzhiyi',time()+60*24*7);
- //访问一个cookie
- echo $_COOKIE['name'];
- //删除cookie
- setcookie('name','');
- //或者设置过期时间为过去的时间
- setcookie('name','',time()-1);
出处:http://www.phpfensi.com/php/20220607/20985.html