在PHP中登录后如何转到同一页面
例如
第 1 步:
我在未登录的情况下浏览页面,登录前的最后一页在登录之前.php
第 2 步:
现在我的概率是当我登录时,我正在重定向到索引.php页面。相反,我应该被重定向到我浏览的最后一页。
那就是从上面的例子应该被重定向到之前登录.php
应该如何做到这一点。
任何帮助都是可观的。
提前致谢
例如
第 1 步:
我在未登录的情况下浏览页面,登录前的最后一页在登录之前.php
第 2 步:
现在我的概率是当我登录时,我正在重定向到索引.php页面。相反,我应该被重定向到我浏览的最后一页。
那就是从上面的例子应该被重定向到之前登录.php
应该如何做到这一点。
任何帮助都是可观的。
提前致谢
您需要一种方法来跟踪访问过的网页,以便可以反向引用用户浏览到的最后一个页面。
当我想到跨多个页面跟踪用户的会话时,我和其他PHP程序员一样,会想到使用会话。
一种可能的方法是将访问的链接存储到会话变量中,然后在用户到达页面(要登录的页面)时提供由会话变量给定的标题
重定向。login.php
$url
您可以将此代码粘贴到您网站上的所有页面中:
<?php
session_start(); // starts the session
$_SESSION['url'] = $_SERVER['REQUEST_URI']; // i.e. "about.php"
这利用 $_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.
到目前为止,最简单的解决方案是简单地拥有:
<input type="hidden" name="redirurl" value="<? echo $_SERVER['HTTP_REFERER']; ?>" />
然后在他们登录后重定向到该地址。
但是,这只有在每个页面上都有一个登录框时才好。我个人这样做,我发现它工作得很好。