【发布时间】:2013-07-24 17:08:39
【问题描述】:
我对 login.php 页面所做的是,如果用户已登录,他将被重定向到 first.php 页面。
session_start();
if(isset($_SESSION['usr']) && isset($_SESSION['pswd'])){
header("Location: first.php");
}
在所有其他页面中,如果用户尚未登录,他将被重定向到 login.php 页面。
session_start();
if(!isset($_SESSION['usr']) || !isset($_SESSION['pswd'])){
header("Location: login.php");
}
问题来了:有没有办法将用户重定向回他原来的位置?假设您在未登录时尝试访问 second.php,您现在将被重定向到 login.php 页面;登录后,是否可以将您重定向回 second.php 而不是 first.php?
我尝试使用$_SERVER['HTTP_REFERER'],但这个变量不包含任何内容;只有当你因为点击了一个链接而来到这里时,它才会包含一些东西。
【问题讨论】:
-
您可以将上一页作为参数附加到 login.php 为
login.php?redir=previous,然后在登录页面上再次登录后重定向到该页面 -
@Akam 这是一种非常直接的方法,可以让它工作,你的解释比代码更容易理解
标签: php session redirect http-referer