php - PHP 注销时重定向到旧页面

标签 php session redirect session-variables

我正在开发一个 CMS。我有三个脚本和 2 个 session 变量

 $_SESSION['logged']
 $_SESSION['redirect'] 

“auth.inc.php” - 每次用户请求页面时运行。它检查 $_SESSION['logged'] 是否已设置且等于 1。如果未设置,则使用

重定向主页
header(location:index.php)

并且页面引用链接保存在$_SESSION['redirect']中。如果 $_SESSION['logged'] 设置的不活动时间小于所需值,则重定向到请求的页面,否则重定向到 logout.php

“index.php” - 检查用户名和密码。我成功套了

$_SESSION['logged']=1

如果设置了$_SESSION['redirect'],它将重定向到该页面,否则重定向到默认页面

“logout.php” - 它使用以下方式取消设置并销毁 session

session_unset();
session_destroy();

但是我希望如果用户由于 session 超时而注销,那么登录后应该将其重定向到旧页面。由于我取消设置 session $_SESSION['redirect'] 丢失了。因此,我没有使用 session_unset() ,而是只取消设置 $_SESSION['logged']

unset($_SESSION['logged']);
session_destroy();

但我仍然无法在 session_destroy() 之后检索 $_SESSION['redirect']。该变量仍未设置。由于 session 过期注销后如何重定向到旧页面

最佳答案

session_destroy() 实际上会销毁当前 session 的数据。要使用您设置的任何值,您必须再次调用 session_start()。

此外,如果 session 过期,您设置的 session cookie 中的任何内容都将无效。

你能做的最好的事情就是保存你的最后一页或数据库中的任何内容,因为你说用户可以登录。然后在登录时获取该值,并重定向到它。

祝你好运!

关于php - PHP 注销时重定向到旧页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7103363/

相关文章:

php - 登录后Opencart登录到上一个查看的页面?

php - FIFO 类型 最近查看的页面

php - Yii:使用 GROUP BY 子句

php - 在 PHP 中更改图像的不透明度

php - 更改 Drupal 节点删除确认表单上的标题

java - JSP中登录页面 session 超时问题

javascript - 停止 onclick 重定向

php - 页面重定向(用户友好的 URL)

php - 浏览器选项卡关闭时销毁 session

php - 无法写入 session 数据(文件)