成功登录后PHP重定向到原始URL
我不确定哪种方法是最好的,所以我很想听听你的想法 好的,假设我们有这个链接/url=>成功登录后PHP重定向到原始URL,php,Php,我不确定哪种方法是最好的,所以我很想听听你的想法 好的,假设我们有这个链接/url=>www.myscript.com/clients.php?id=5 如果我试图打开它,我会被重定向到www.myscript.com/login.php,因为我没有登录,然后当我登录时,我不会像我想的那样被重定向到原始链接/urlwww.myscript.com/clients.php?id=5 那么我应该向login.php添加什么来实现这样的行为/工作呢 请记住,URL可能不同,例如: - www.mysc
www.myscript.com/clients.php?id=5
如果我试图打开它,我会被重定向到www.myscript.com/login.php
,因为我没有登录,然后当我登录时,我不会像我想的那样被重定向到原始链接/urlwww.myscript.com/clients.php?id=5
那么我应该向login.php添加什么来实现这样的行为/工作呢
请记住,URL可能不同,例如:
- www.myscript.com/clients.php?id=5
- www.myscript.com/orders.php?invoice=125
等等。在login.php中,输入如下内容:
$_SESSION['logged_in'] = true; // Wherever your user would actually be logged in.
现在,在您希望“仅在登录时可访问”的所有页面的开头,输入:
在重定向到login.php时 过关
urlencode($_SERVER["REQUEST_URI"])
作为如下所示的参数
login.php?return=clients.php%3Fid%3D5
成功登录后,将页面重定向到
urldecode($_GET['return'])
如果将跟踪值添加到所有页面(或显示在每个页面上的站点元素…?),则需要将跟踪值添加到脚本中
您可以将URI存储在“用户是否已登录”检查代码中的$\u会话
变量中,然后重定向回登录验证代码中的URI。会话/登录使用的是什么?你是如何强制重定向的?我所要做的就是重定向到登录后输入的原始URL…@MrGlass我的dologin.php中有这个,在我们提交login.php中使用的表单时执行<代码>标题('Location:index.php')代码>退出()代码>@ProDraz,将在登录后将用户重定向到索引。是什么将用户重定向到登录?这不是OP想要的。重定向到登录是最简单的部分。OP希望重定向回用户在被发送到登录之前最初点击的页面。
login.php?return=clients.php%3Fid%3D5
urldecode($_GET['return'])
<?php
session_start(); // only if you are not already using sessions - if you are, you don't need this line
if (($_SERVER['REQUEST_URI'] != 'login.php') && ($_SERVER['REQUEST_URI'] != $_SESSION['oldURL'])) {
$_SESSION['oldURL'] = $_SERVER['REQUEST_URI'];
}
?>