PHP |会话
什么是会话?
一般来说,会话是指两种介质之间的通信帧。 PHP会话用于将数据存储在服务器而不是用户的计算机上。会话标识符或 SID 是一个唯一编号,用于在基于会话的环境中识别每个用户。 SID 用于将用户与他在服务器上的信息(如帖子、电子邮件等)链接起来。
会话比 cookie 好在哪里?
虽然cookies也被用于存储用户相关数据,但由于cookies存储在用户的计算机上,因此存在严重的安全问题,因此它们对攻击者开放,可以轻松修改cookie的内容。攻击者在cookie中添加有害数据可能导致应用程序崩溃。
除此之外,cookie 会影响网站的性能,因为 cookie 会在用户每次查看页面时发送用户数据。每次浏览器向服务器请求 URL 时,该网站的所有 cookie 数据都会自动发送到要求。
以下是PHP会话中涉及的不同步骤:
- 启动PHP会话:第一步是启动会话。会话启动后,可以创建会话变量来存储信息。 PHP session_start()函数用于开始一个新会话。它还为用户创建一个新的会话 ID。
下面是开始一个新会话的PHP代码:
- 存储会话数据:使用$_SESSION[]超全局数组的键值对中的会话数据。可以在会话的生命周期内访问存储的数据。
下面是使用两个会话变量 Rollnumber 和 Name 存储会话的PHP代码:
- 访问会话数据:通过首先调用session_start()然后将相应的键传递给$_SESSION关联数组,可以轻松访问存储在会话中的数据。
使用两个会话变量 Rollnumber 和 Name 访问会话数据的PHP代码如下所示:
'; echo 'The Roll number of the student is :' . $_SESSION["Rollnumber"] . '
'; ?>输出:
The Name of the student is :Ajay The Roll number of the student is :11
- 销毁某些会话数据:要仅删除某个会话数据,可以将未设置功能与$_SESSION关联数组中的相应会话变量一起使用。
仅从关联会话数组中取消设置“Rollnumber”会话变量的PHP代码:
销毁完整会话: session_destroy()函数用于完全销毁会话。 session_destroy()函数不需要任何参数。
要点
- 会话 ID 由PHP引擎随机生成。
- 会话数据存储在服务器上,因此不必与每个浏览器请求一起发送。
- session_start()函数需要在页面的开头调用,然后浏览器中的脚本生成任何输出。