如何理解PHP中的会话session()

什么是会话?
通常, 会话是指两个介质之间的通信框架。 PHP会话用于将数据存储在服务器而非用户的计算机上。会话标识符或SID是唯一的数字, 用于标识基于会话的环境中的每个用户。 SID用于将用户与其在服务器上的信息(例如帖子, 电子邮件等)链接起来。
会话比cookie更好吗?
尽管cookie也用于存储与用户相关的数据, 但由于cookie存储在用户计算机上, 因此它们存在严重的安全问题, 因此攻击者可以轻松地修改cookie的内容。攻击者在cookie中添加了有害数据可能会导致应用程序崩溃。
Cookie会影响网站的性能, 因为Cookie会在用户每次查看页面时向用户发送数据。每次浏览器向服务器请求URL时, 该网站的所有Cookie数据都会自动发送到服务器内的服务器。请求。
以下是PHP会话中涉及的不同步骤:
开始一个PHP会话
:第一步是启动会话。会话开始后, 可以创建会话变量来存储信息。的PHP
session_start()
功能用于开始新的会话。它还会为用户创建新的会话ID。
【如何理解PHP中的会话session()】以下是开始新会话的PHP代码:

< ?phpsession_start(); ?>

储存工作阶段资料
:使用
$ _SESSION []
超全局数组。可以在会话的生存期内访问存储的数据。
以下是用于存储具有两个会话变量Rollnumber和Name的会话的PHP代码:
< ?phpsession_start(); $_SESSION [ "Rollnumber" ] = "11" ; $_SESSION [ "Name" ] = "Ajay" ; ?>

访问会话数据
:首先调用即可轻松访问会话中存储的数据
session_start()
然后将相应的密钥传递给
$ _SESSION
关联数组。
下面显示了使用两个会话变量Rollnumber和Name访问会话数据的PHP代码:
< ?phpsession_start(); echo 'The Name of the student is :' . $_SESSION [ "Name" ] . '< br> ' ; echo 'The Roll number of the student is :' . $_SESSION [ "Rollnumber" ] . '< br> ' ; ?>

输出如下:
The Name of the student is :Ajay The Roll number of the student is :11

销毁某些会话数据
:要仅删除某些会话数据, 可以将未设置功能与相应会话变量一起使用
$ _SESSION
关联数组。
PHP代码仅从关联会话数组中取消设置" Rollnumber"会话变量:
< ?phpsession_start(); if (isset( $_SESSION [ "Name" ])){ unset( $_SESSION [ "Rollnumber" ]); }?>

销毁完整会话:session_destroy()函数用于完全销毁会话。 session_destroy()函数不需要任何参数。
< ?phpsession_start(); session_destroy(); ?>

重要事项
  1. 会话ID由PHP引擎随机生成。
  2. 会话数据存储在服务器上, 因此不必随每个浏览器请求一起发送。
  3. 在浏览器中的脚本生成任何输出之前, 必须在页面的开头调用session_start()函数。

    推荐阅读