如何在PHP登录后转到同一页面

Fer*_*ero 20 php redirect login

例如,

步骤1:

我在没有登录的情况下浏览页面,登录前的最后一页是beforeLogin.php

第2步:

现在我的问题是当我登录时,我正在重定向到index.php页面.相反,我应该被重定向到我浏览过的最后一页.

那是从上面的例子应该重定向到beforeLogin.php

应该如何做到这一点.

任何帮助都会很明显.

提前致谢

Ant*_*ney 37

您需要一种方法来跟踪所访问的网页,以便您可以反向引用用户浏览的最后一页.

当我想到跨多个页面跟踪用户的会话时,我和其他PHP程序员一样,想到使用会话.

一种可能的方法是将访问的链接存储到会话变量中,然后当用户到达login.php页面时(登录的页面)提供由会话变量给出的header重定向$url.

注意:下面的代码片段,尚未经过测试编译.

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

<?php
session_start(); // starts the session
$_SESSION['url'] = $_SERVER['REQUEST_URI']; // i.e. "about.php"
Run Code Online (Sandbox Code Playgroud)

这利用$_SERVER变量返回使用的当前页面的URI$_SERVER['REQUEST_URI']

然后为登录页面帮助进一步演示:

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

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

  • 这个回答给我sssooo很多时间!非常感谢!! (3认同)

Lot*_*tes 6

迄今为止最简单的解决方案就是:

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

然后在他们登录后重定向到该地址.

但是,如果您在每个页面上都有一个登录框,这只会很好.我亲自做,我觉得它很有效.