- 目录
- 1. 前言
- 2. SESSION的使用
- 2.1 session简介及工作原理
- 2.2开启会话session_start()
- 2.3设置会话$_SESSION
- 2.4销毁session
- 3. session实战演示
- 3.1使用session保存验证码
- 4.自定义会话管理器
- 4.1案例:保存session数据到数据库中
- 4.1.1创建存储数据表
- 4.1.2存储session接口类
- 4.1.3测试存储session接口类
- 5. 总结
1.前言
session是存储在服务端的会话,通过使用session技术,能够很好地帮助我们与客户端进行验证通信,另外,session也是一个高频面试点,因此我们很有必要掌握它。
代码分享:https://github.com/mtdgclub/SeCo
2.SESSION的使用
2.1 session简介及工作原理
会话就是服务器和浏览器保有的共同的小秘密的这段时间.
工作原理如下图所示:
- 准备建立会话的时候,PHP会先查看请求是否包含Seesion_id,如果没有服务器会在自己的内存里创建一个新的变量,这个变量就是session_id
- 服务器会把这个session_id发送到浏览器保存,一般浏览器会把这个ID保存到cookie中
- 之后浏览器每次再去访问服务器的时候,都会携带cookie中存储的seesion_id,这样服务器就能够认识到对应的客户端
- 服务器的session_id可以存放任意的会话数据,这些数据是经过序列化的
- 每个浏览器都能够凭借session_id到服务器认领自己的信息
- 如果要销毁会话,可以删除会话的数据,销毁会话文件
2.2开启会话session_start()
代码举例:
<?php header('content-type:text/html;charset=utf-8'); //开启会话 session_start();
2.3设置会话$_SESSION
//设置数据 $_SESSION['username']='fangzhijie'; $_SESSION['email']='747245429@qq.com'; $_SESSION['