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() 删除整个会话

  1. //开启一个会话
  2. session_start();
  3. //创建一个会话
  4. $_SESSION['name'] = 'wuhenzhiyi';
  5. //访问一个会话
  6. echo $_SESSION['name'];//输出 wuhen
  7. //删除指定的会话
  8. session_unset($_SESSION['name']);
  9. //删除全部会话
  10. 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的删除

将其值设置为空,或设置有效期是过去的时间

  1. //创建一个cookie
  2. //设置一个有效期为7天的cookie
  3. setcookie('name','wuhenzhiyi',time()+60*24*7);
  4. //访问一个cookie
  5. echo $_COOKIE['name'];
  6. //删除cookie
  7. setcookie('name','');
  8. //或者设置过期时间为过去的时间
  9. setcookie('name','',time()-1);