PHP 重定向但将页面保留在历史记录中

斯蒂芬·R

我网站上的每个页面都会进行登录检查。如果用户未登录,他们将被重定向到登录页面。但是在他们登录后,如果他们想转到该页面,则浏览器历史记录中会缺少从该页面重定向的页面。所以...

  1. 我在页面 A
  2. 我点击页面 B。糟糕!我的会话超时,我没有登录。
  3. 我被重定向到登录页面(使用 PHPheader( 'Location:http://example.com/login.php');函数)。我登录。
  4. 如果我点击“返回”,我会转到页面 A。页面 B 不在历史记录中。

我怎样才能让点击后退按钮带我到页面 B?

编辑澄清:返回带我再次登录页面。第二次返回将我带到页面 A。

凯松

您可以让登录页面将用户重定向到他们之前浏览的页面。基本上,在您的身份验证功能期间,您将获取当前 URL 或查询字符串并在成功登录后保存。

有几种不同的存储方法,要么

  • Cookie(请参阅setcookie() 此处的文档
  • 会话(请参阅$_SESSION 此处的文档
  • 在 URL 中,通过将前一个 URL 编码为变量并传递,以便您重定向到 http://example.com/login.php?redirect=somepage.php

登录成功后,您将加载该页面而不是一般主页。

但是,这并没有具体解决您提出的问题。在更改浏览器历史记录方面,如评论中所述,您需要使用 Javascript,历史 API 文档在这里

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用“历史记录”将链接重定向到页面

执行命令而不将其保留在历史记录中

PHP页面重定向

从外部iFrame重定向和链接中删除历史记录

PHP preg_split将分隔符保留在其他元素中

git合并后将分支的提交历史记录保留在git日志图中

历史记录推送状态重定向,而不仅仅是将新状态推送到浏览器历史记录

如何使用php将用户数据保留在不同页面中

捕获刮板物品中的重定向响应状态/历史记录

如何重定向到登录而不在vue中添加到历史记录的路由?

将所有命令保留在bash历史记录中?

使用php提交后将表单数据保留在字段中

如何返回一些提交,但仍将提交历史记录保留在git中?

记录php页面未重定向

将PHP函数保留在RAM中

重定向后将php值保留在页面中

页面重定向PHP

如何获取MySQL查询并保留在PHP分页中?

删除(取消设置)今天之前创建的所有较早的Cookie并创建子目录是否保留在浏览器历史记录中?

执行命令块而不将其保留在外壳程序历史记录(zsh)中

如何改组php数组,但将索引保留在foreach中

会话变量是否保留在php的内存中

php中的爆炸功能,使用爆炸后如何将数据保留在文本框中?

php:仅将最大值保留在数组中?

提交PHP和HTML之后,将值保留在数组中

PHP:重新加载页面后,将不会保留在cookie中设置会话信息?

PHP MYADMIN SQL备份日志历史记录

检索php中的异常消息以保留错误历史记录

如何基于具有动态内容的现有表创建新表,但将历史记录保留在新表中?