这究竟是什么?
它是否基于cookie启动当前会话?从PHP网站获得.PHP如何控制会话?如果我在用户打开登录页面时启动会话,我甚至可以使用该会话?我可以使用当前会话获取有关登录用户的信息吗?
Vic*_*let 22
PHP会话系统允许您将数据安全地存储在$_SESSION全局数组中.典型示例是在用户输入密码时将用户标识符存储在会话中:
if ($user = try_login($login, $password))
$_SESSION['user'] = $user;
Run Code Online (Sandbox Code Playgroud)
然后,您可以在所有其他页面上访问该信息:
if (isset($_SESSION['user']))
// logged in !
echo user_name($_SESSION['user']);
Run Code Online (Sandbox Code Playgroud)
数据存储在服务器上,因此不存在篡改的风险(另一方面,请注意磁盘使用情况).
启动会话可以使用当前请求$_SESSION.如果这是用户的第一次访问,则该数组将为空,并且将为您发送新的会话cookie.
关闭会话仅会阻止当前请求的使用$_SESSION,但数据会保留在下一个请求中.
销毁会话将永远丢弃所有数据.会话在最后一次访问后(通常约30分钟)被销毁一段时间.
Man*_*kis 11
我假设你想知道PHP会话对你来说意味着什么,程序员.
当你执行session_start()时,你告诉PHP你想要使用会话.这可以作为名为$ _SESSION的数组使用.你可以像任何其他数组一样使用它,区别在于你放在那里的东西从一个页面到另一个页面(如果你在每个页面的开头使用session_start()).
实际机制可能因配置(php.ini)而异,但典型安装可以使用cookie进行会话.假设您的网络服务器在Linux上并且您正在使用cookie.您执行以下操作
session_start();
$_SESSION['name']='Bob';
Run Code Online (Sandbox Code Playgroud)
当PHP看到它时会创建一个带有半随机名称的文本文件(例如sess_a3tfkd5558kf5rlm44i538fj07),将$ _SESSION内容作为纯文本粘贴在那里,然后将cookie发送给具有会话ID的用户,可以用来查找会话文件(例如a3tfkd5558kf5rlm44i538fj07).
下次用户回来时,他会在他的cookie中输入会话ID,PHP会转到相关文件并在$ _SESSION中加载其内容.
您会注意到实际信息保留在服务器上,而用户只有id.有点像在俱乐部递上你的外套,并获得一张带有号码的票.
| 归档时间: |
|
| 查看次数: |
48924 次 |
| 最近记录: |