注销后不会重新创建PHP会话

时间:2018-07-18 18:53:44

标签: php session

登录功能:

// Create User Session Variable
session_start();
$_SESSION['session_id'] = $session_id;

注销功能:

// Clear Session Variable
session_start();
unset ($_SESSION["session_id"]);

测试PHP文件

// Start Session
session_start();
echo "Output Session Variables <br>";
echo "Session ID: " . $_SESSION['session_id'] . "<br>";

用户首次打开浏览器(在Edge和Chrome上试用)并登录测试文件时,将显示一个会话。然后,当用户注销时,显示会话为空。但是,如果用户重新登录测试文件,则该会话为空。但是,整个Web应用程序会将用户视为已登录,并允许用户查看设置为仅在session_id不为空时显示的区域。再次注销并重新登录不能解决问题,只有关闭浏览器才能解决此问题。

发生的最后一件奇怪的事情是,如果您登录,注销然后登录,然后尝试在webapp上做一些修改数据库的操作,它将重定向到登录页面,成功登录后,测试php文件会再次显示一个会话。

澄清

这是发生的事情的时间表:

  1. 打开浏览器
  2. 转到网站
  3. 登录-$ _SESSION ['session_id'] = uniqid()。 “ _”。 $ user_id;
  4. 打开另一个标签并运行test.php。会话ID:随机数_用户ID
  5. 注销-未设置($ _SESSION ['session_id']); $ _SESSION = array(); session_destroy(); //我尝试了一切
  6. 重新登录并运行test.php会话ID为空

但是,如果session_id不为null,则Webapp的运行方式类似于。我可以将其值插入数据库。

0 个答案:

没有答案