繁体   English   中英

使用PHP登录后,如何将用户重定向到他们的上一页?

[英]How do you redirect the user to their previous page after logging in with PHP?

我的网站的每个页面上都包含一个登录小部件。 当前,当他们登录时,他们被重定向到主页。 但是我想要这样,当他们登录时,他们停留在当前正在查看的页面上。

在我的论坛上,您必须登录才能发布(显然)。 我希望这样做,这样他们就可以留在论坛上,他们尝试在登录后回复,而不必再次查找。 我该怎么做呢?

最简单的方法(尽管并非完全可靠)是使用HTTP_REFERER并重定向到引用页面。如果您的登录操作跨越多个页面,则可能需要进行一些传递。

更正确的方法是在会话中设置当前(未记录)页面,并在登录时重定向到该会话值页面。

这要视情况而定,但是会想到一些选择。

  • 具有重定向参数,该参数将在用户登录后将其重定向。
  • 使用HTTP_REFERER将用户HTTP_REFERERHTTP_REFERER
  • 取决于登录表单; 您可以发送ajax请求以登录用户而不移动他

但是我认为这最终取决于您的环境,并且由于您除了我的论坛以外没有提供其他任何信息/代码,所以我只能像您的问题那样模糊。

您可以将当前页面绑定在隐藏字段内的登录窗口小部件中,并告诉认证页面成功登录后作为页面重定向到此绑定值。

或者,如果您想更安全,请尝试使用sessions并在其中绑定当前页面,然后在身份验证页面中提取绑定到该会话的变量,然后将其重定向为有效页面

您还可以使用file_exists来检查此变量是否为有效页面,因此请尝试并告诉我结果

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM