首页 > 编程语言 >入门PHP就来我这(高级)23 ~ Session

入门PHP就来我这(高级)23 ~ Session

时间:2024-07-11 15:57:35浏览次数:19  
标签:SESSION 存储 变量 Session 23 会话 session PHP

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

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

 

上一篇我们完成了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 创建会话

创建会话流程如下:

2.1 启动会话

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

bool session_start(void);

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

2.2 存储会话

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

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

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

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

?>

 

2.3 读取会话

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

$username = $_SESSION['username'];
2.4 删除会话

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

2.4.1 删除单个会话

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

unset($_SESSION['username']);

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

2.4.2 删除多个会话

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

$_SESSION = array();
2.4.3 结束当前会话

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

session_destroy();

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

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


 

大家如果喜欢技术,并想有个好的交流平台可以关注我的 我的知乎首页,会不定期分享本人觉得比较好的技术类电子书。
另外,自己创建的一个技术qq群,玩转技术群,该群里功能:分享技能,电子书,源代码,以及兼职项目等交流,欢迎大家加入一起交流。

标签:SESSION,存储,变量,Session,23,会话,session,PHP
From: https://blog.csdn.net/weixin_38298363/article/details/140352937

相关文章

  • PHP请求示例商品详情数据(属性规格sku详情图等)示例,json格式
    在PHP中请求商品详情数据(包括属性、规格、SKU详情、图片等)通常涉及向一个API发送HTTP请求,然后解析返回的JSON格式数据。以下是一个示例流程,包括如何发送请求和如何处理返回的JSON数据。1.发送HTTPGET请求首先,你需要知道API的URL,以及是否需要任何认证(如API密钥、OAuth令牌等......
  • 代码随想录算法训练营Day11 | 栈与队列基础 232.用栈实现队列 225. 用队列实现栈 20.
    栈与队列栈:先进后出   empty-push-push-pop队列:先进先出Tips: 栈和队列是STL(C++标准库)里面的两个数据结构。STL最旁边的三个版本:HPSTL、P.J.PlaugerSTL、SGISTL232.用栈实现队列题目:232用栈实现队列在python中,in主要负责push,out主要负责pop初始:self.......
  • PHP实现断点续传
    解释业务上要求对资源文件进行加密,遂实现通过php接口调用,修改header头,传输流的方式。测试中,在苹果手机上,如果文件过大(大概10M以上),会主动调用多次接口。此时如果不使用断点续传的方式,会导致资源无法加载。苹果设备对于HTTPRange请求的处理可能会更加严格和敏感。它可能更倾......
  • 入门PHP就来我这(高级)22 ~ 七天免登录案例
    有胆量你就来跟着路老师卷起来! --纯干货,技术知识分享路老师给大家分享PHP语言的知识了,旨在想让大家入门PHP,并深入了解PHP语言。  上文讲述了cookie的概念,创建,获取,销毁以及生命周期后,我们利用本文来实现一个小的案例,实现七天免登录的案例。 七天免登录功能案例1......
  • 西门子7MB2335-0AN10-3AA1
    烟气分析仪注意事项1.使用前请仔细阅读说明书:不同的便携式烟气分析仪可能存在操作上的差异,使用前务必仔细阅读说明书,了解仪器的性能特点和操作方法。2.保持仪器清洁:避免仪器受到灰尘、水汽等污染,保持仪器及传感器的清洁。3.防护与保养:根据实际需要,为仪器配备合适的防护装......
  • (免费领取源码)计算机毕业设计项目:宠物店管理系统 19849(开题答辩+程序定制+全套文案 )上
    目 录摘要1绪论1.1背景及意义1.2研究现状1.3springboot框架介绍2 宠物店管理系统系统分析2.1可行性分析2.2系统流程分析2.2.1数据流程3.3.2业务流程2.3系统功能分析2.3.1功能性分析2.3.2非功能性分析2.4系统用例分析2.5本章小结......
  • (免费领源码)Java/Mysql数据库+09536 SSM爱心捐赠物资维护系统,计算机毕业设计项目推荐上
    摘要随着信息技术的快速发展,计算机应用已经进入成千上万的家庭。随着物资数量的增加,物资库存管理也存在许多问题。物资数据的处理量正在迅速增加,原来的手工管理模式不适合这种形式。使用计算机可以完成数据收集、处理和分析,减少人力和物力的浪费。需要建立爱心捐赠物资维护系......
  • PHP 程序员是学 Swoole ?还是学 Go ?
    大家好,我是码农先森。面临现状这次为什么要讨论这个话题,因为Swoole和Go在PHP程序员坊间一直都是茶语饭后的谈资,觉得懂Swoole和Go的就高人一等。相信有很多的PHP程序员,自打Swoole发布以来就从来没有使用过。还记得Swoole官方有一遍入门文章中曾建议学习Swoole......
  • Go 1.23 的 os.CopyFS:告别第三方库,轻松复制目录
    Go1.23的os.CopyFS:告别第三方库,轻松复制目录原创K8sCat源自开发者2024年07月10日21:49美国听全文在Go1.23版本中,标准库os包引入了一个名为CopyFS的新函数,它提供了一种仅使用标准库函数即可复制目录的便捷方法。从此,开发者无需再依赖第三方库来完成这项常见任务......
  • PHP环境集成面板使用教程
    “让天下没有难配的服务器环境!-phpStudy”phpStudy是一个PHP开发环境集成包,可用在本地电脑或者服务器上,该程序包集成最新的PHP/MySql/Apache/Nginx/Redis/FTP/Composer,一次性安装,无须配置即可使用,非常方便、好用!phpstudy2019年新推出的V8版本全新界面,支持最新php、mysql版......