我有一个登录表单。我希望当用户在其帐户中登录时,他会被重定向到他访问的最后一页,然后在他最后一次登录的会话中登出。 我尝试使用
if(!isset($_SESSION))
{
session_start();
}
$_SESSION['url'] = $_SERVER['REQUEST_URI'];
在我使用的每个页面和登录页面中:
session_start();
if(isset($_SESSION['url']))
$url = $_SESSION['url']; // holds url for last page visited.
else
$url = "login-home.php"; // default page for
header("Location: $url");
但是使用这个用户被引导到同一个页面.....页面第一个用户上次访问过......但我想将每个用户引导到他们自己最后访问过的页面...什么是我的code.please帮助错了。
答案 0 :(得分:2)
您是否在注销之前将$_SESSION['url']
与其他用户详细信息一起存储在数据库中?当用户登录时,从数据库中检索该URL(基于用户ID或用户名)并将其重定向到那里。我认为在这种特殊情况下不需要使用$ _SESSION。
$ _ SESSION不是您的答案,因为它不会将访问该页面的用户神奇地绑定到注册用户(其凭据存储在数据库中)。
据我所知,你需要的是
在注销之前被重定向到他访问过的最后一页 在他上次签约的会议中
不是他到达登录页面之前访问的最后一页(因为这里的所有答案都集中在这里),而是从他上次登录时的前一个状态开始。你需要记住数据库中的状态
会话和用户身份验证是两回事。
答案 1 :(得分:0)
是否可以将当前网址添加到登录表单中。在一个隐藏的领域。当用户登录时,使用该POST或GET数据将用户重定向回其原点。
答案 2 :(得分:-1)
session_start();
if(isset($_SESSION['url']))
$url = $_SERVER['HTTP_REFERER'];
else
$url = "login-home.php"; // default page for
header("Location: $url");
对于访问的最后一页,您需要使用$ _SERVER ['HTTP_REFERER']