一尘不染

PHP session_start()

php

这到底是什么

是否基于cookie启动当前会话?从PHP网站得到了。PHP如何控制会话?如果我在用户打开登录页面时启动会话,我什至可以将该会话用于什么用途?我可以使用当前会话获取有关已登录用户的信息吗?


阅读 298

收藏
2020-05-29

共1个答案

一尘不染

PHP会话系统使您可以安全地将数据存储在$_SESSION全局数组中。一个典型的示例是在用户输入密码时将其标识符存储在会话中:

if ($user = try_login($login, $password)) 
  $_SESSION['user'] = $user;

然后,您可以在所有其他页面上访问该信息:

if (isset($_SESSION['user']))
  // logged in !
  echo user_name($_SESSION['user']);

数据存储在服务器上,因此没有被篡改的风险(另一方面,请注意磁盘的使用情况)。

启动会话可以使用当前请求$_SESSION。如果这是用户的首次访问,则该数组将为空,并且将为您发送一个新的会话cookie。

关闭会话只会阻止当前请求的使用$_SESSION,但是数据会留在下一个请求中。

破坏会话将永远丢弃所有数据。在最后一次访问后的一定时间内(通常为30分钟左右),这些会话将被销毁。

2020-05-29