登录后重定向到请求的最后一页

Din*_*esh 4 php login

我的登录系统需要帮助.在我的项目中,当用户登录时,他们只需转到他们的帐户.如果他们正在浏览某些页面并要求登录,那么他们应该在登录后重定向到该页面而不是他们的个人资料页面.

这是我正在尝试的代码,但用户总是被重定向到student_account.php而不是请求的页面.

$fetch = mysql_fetch_assoc($exec);
        $_SESSION['login'] = $fetch[uniq];
            $_SESSION['emailid'] = $fetch['email'];
            $emailid = $_SESSION['emailid'];

        $_SESSION['type'] = 'student';
        if(isset($_SESSION['url'])) 
   $url = $_SESSION['url']; // holds url for last page visited.
else 
   $url = "student_account.php"; // default page for 

header("Location:$url"); 
Run Code Online (Sandbox Code Playgroud)

Yog*_*gus 11

您可以将此代码粘贴到您网站上的所有网页中:

<?php
session_start(); 
$_SESSION['url'] = $_SERVER['REQUEST_URI']; 
Run Code Online (Sandbox Code Playgroud)

然后,对于登录页面,您可以:

<?php
session_start();  // needed for sessions.
if(isset($_SESSION['url'])) 
   $url = $_SESSION['url']; // holds url for last page visited.
else 
   $url = "student_account.php"; 

header("Location: http://example.com/$url"); 
Run Code Online (Sandbox Code Playgroud)


Roo*_*dra 7

我认为你应该在这里尝试HTTP_REFERER重定向上次访问的页面.为此设置登录表单中的隐藏字段.

HTML: -

<input type="hidden" name="redirurl" value="<? echo $_SERVER['HTTP_REFERER']; ?>" />
Run Code Online (Sandbox Code Playgroud)

redirurl在表格中获得价值.

PHP: -

if(isset($_REQUEST['redirurl'])) 
   $url = $_REQUEST['redirurl']; // holds url for last page visited.
else 
   $url = "student_account.php"; // default page for 

header("Location:$url");
Run Code Online (Sandbox Code Playgroud)

或者,如果您正在使用会话,请确保在该页面上启动会话session_start().否则会话将中断,无法保存您想要的URL.