24 Session

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
简介: 路老师在知乎上分享了PHP语言的知识,帮助大家入门并深入了解PHP。本文重点讲解了Session管理,包括Session的基本概念、工作原理、功能、创建会话、存储和读取会话数据,以及删除会话的方法。通过这些内容,读者可以更好地理解和应用Session技术。

有胆量你就来跟着路老师卷起来 -- 纯干货,技术知识分享

路老师给大家分享PHP语言的知识了,旨在想让大家入门PHP,并深入了解PHP语言。

image.gif 编辑

上一篇我们完成了cookie的7天免登录功能的实现,本文接着说‘Cookie与Session’这块的Session管理部分。

Session 管理

对比Cookie和Session会话文件中保存的数据是以变量的形式创建的,创建的会话变量在生命周期(24分钟)中可以被跨页的请求所引用。另外,Session是存储在服务器端的会话,比起Cookie安全,并且也不会像Cookie那样有存储长度的限制。

1 了解Session

Session译为会话。其本义是指有始有终的一系列动作或消息,如打电话时拿起手机拨号到挂断电话的一系列过程成为一个Session。官方描述:Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统所经过的时间。因此,Session实际上是一个特定的时间概念。

1.1 Session工作原理

当启动一个Session会话时,会生成一个随机且唯一的session_id,也就是Session的文件名,此时session_id存储在服务器的内存中,当关闭页面时,此id会被自动注销,重新登陆此页面,会再次生一个随机的唯一的id。

1.2 Session的功能

Session在web技术中非常重要。由于网页是一种给无状态的连接程序,因此无法得知用户的浏览器状态。通过Session则可记录用户有关的信息,以供用户再次以此身份对Web服务器提交要求时做确认。例如:在浏览购物网站中,通过Session记录用户登录的信息,以及用户所购买的商品,如果没有Session,那么用户每进入一个页面都需要登录以此用户名和密码。

另外,Session会话适用于存储信息量比较少的情况。如果用户需要存储的信息量相对较少,且不需要长期存储,那么使用Session把信息存储到服务器端比较合适。

2 创建会话

创建会话流程如下:

image.gif 编辑

2.1 启动会话

php启动会话采用session_start()方法

bool session_start(void);

image.gif

注意:通常session_start()函数在页面开始位置调用,会话变量被存储到$_SESSION中。

2.2 存储会话

$_SESSION变量是一个数组,开启绘画之后,就可以使用$_SESSION变量来存取信息了。当要把信息存入Session的时候,编码如下:

$_SESSION('username') = '路飞';

image.gif

判断存储的用户名的Session会话变量是否为空,如果不为空,则将该会话变量赋给$myS变量:

<?php
$_SESSION['username'] = '路飞';
if(!empty($_SESSION['username'])){
  $myS = $_SESSION['username'];
  echo '$myS值为:'.$myS;
}
?>

image.gif

image.gif 编辑

2.3 读取会话

读取会话很简单,就像使用数组一样:

$username = $_SESSION['username'];

image.gif

2.4 删除会话

删除会话的方法主要有删除单个会话、删除对个会话和结束当前会话3种,下面分别进行介绍。

2.4.1 删除单个会话

删除会话变量,同数组的操作一样,直接注销$_SESSION数组的某个元素即可。

unset($_SESSION['username']);

image.gif

注意:使用unset()函数时,该函数会将全局变量$_SESSION销毁,而且没有办法将其恢复,用户也不能再注册$_SESSION变量。如果要删除多个或者全部会话,可采用下面的两种方法。

2.4.2 删除多个会话

如果想以此注销所有的会话变量,则可以将一个空的数组赋给$_SESSION,代码如下:

$_SESSION = array();

image.gif

2.4.3 结束当前会话

如果整个会话已经结束,首先应该注销所有的会话变量,然后使用session_destroy()函数清除结束当前的会话,并清空会话种的所有资源,彻底销毁Session,代码如下:

session_destroy();

image.gif

这些就是关于session的概念性的内容。

下一篇 使用Session实现判断用户登录功能

相关文章
|
11月前
|
Python
pyqt6 制作一个颜色调节器 01
本文介绍了一个使用 PyQt 制作的颜色调节器,通过滑动滚动条或旋钮来调整 RGB 三色,实现颜色的微调。具体步骤包括:1. 设计 UI 页面;2. 分析颜色调整逻辑;3. 将数据反馈到 UI 页面。最终实现了颜色随滑块变化而实时更新的效果。
268 1
|
11月前
|
SQL PHP 数据库
20 PHP如何捕获sql错误
路老师带你深入学习PHP,掌握技术干货。本文介绍了PDO中捕获SQL错误的三种模式:默认模式、警告模式和异常模式,以及如何使用errorCode()和errorInfo()方法进行错误处理。
234 2
|
11月前
|
PHP
23 七天免登录案例
路老师分享了PHP语言的知识,帮助大家入门并深入了解PHP。本文通过一个“七天免登录”的案例,详细介绍了从创建用户表、登录页面到登录检测和退出登录的完整过程。代码示例详尽,适合初学者学习。
187 2
|
11月前
|
存储 Shell Linux
用户和用户组
本文介绍了Linux系统中的用户账户和组的基本概念,包括普通用户和超级用户(root)的定义和区别,以及组的概念和作用。文章还详细描述了用户账户和组的相关文件(如/etc/passwd、/etc/shadow、/etc/group和/etc/gshadow)的结构和内容,并提供了创建和删除用户账户及组的基本命令和选项。
581 2
|
11月前
|
Java 程序员 PHP
01 入门PHP就来我这-安装phpstudy
路老师的PHP入门教程,带你从零开始学习PHP。首先下载并安装phpStudy,接着配置域名和端口,最后创建并运行第一个PHP文件。内容详实,适合初学者。
221 3
01 入门PHP就来我这-安装phpstudy
|
11月前
|
Shell Linux
Shell基础 01
Shell 是一种脚本语言,用于操作 Linux 服务器。本文介绍了 Shell 变量的定义和作用域,以及多命令运行的练习。变量定义时需注意字符串的引用方式,变量可分为局部和全局。多命令运行中,通过逻辑运算符 `&&` 和 `||` 实现条件判断和命令执行。
151 5
|
11月前
|
JavaScript PHP
17 PHP 实现批量删除功能
路老师在本文中继续优化图书删除功能,实现批量删除图书。通过添加删除按钮、表格前的复选框以及实现PHP后端逻辑,展示了完整的删除流程和效果。
133 5
|
11月前
|
安全 Linux Shell
用户和组高级操作
本文介绍了Linux系统中用户和组管理的基本操作,包括使用`usermod`命令修改用户属性、使用`passwd`和`usermod`命令禁用和恢复用户账户、使用`userdel`命令删除用户账户、使用`groupadd`、`groupdel`和`groupmod`命令管理组群,以及使用`gpasswd`命令为组群添加用户。此外,还介绍了`su`和`sudo`命令的使用方法,帮助用户在不同身份之间切换。
180 4
|
11月前
|
网络协议 Linux 网络安全
RHEL 网络配置
本文介绍了Linux网络配置的基本方法,重点讲解了如何使用nmtui命令配置网络参数、查看网络信息及管理网络会话服务。同时,文章还介绍了通过nmtui、hostnamectl和nmcli命令修改主机名的具体步骤,帮助网络管理员快速调整Linux系统的网络设置。
279 4
|
11月前
|
数据库连接 PHP
15 PHP实现图书修改功能
路老师分享了如何使用PHP实现图书信息的修改功能。首先,在列表页面点击编辑按钮,跳转至`editBook.php`,通过ID获取图书信息并展示在`edit.html`页面。用户提交修改后,`updateBook.php`处理更新请求,成功后返回到图书列表页。纯干货,技术知识满满。
219 2