我有一个名为 Login.php
的页面。我需要最后一页之前的页面的 URL。
当用户登录表单将提交给 check_login.php
时,它会检查用户名和密码。然后我会将用户重定向到 index.php
。
问题是我希望将用户重定向到他们访问过的倒数第二个页面。
示例:
第一个网址: www.example.com/posts/1
第二个网址: www.example.com/login.php
第三个网址: wwww.example.com/check_login.php
因此,如果用户名和密码正确 => header('location: www.example.com/posts/1');
获取之前的URL有一个解决方案:
// login.php
$_SESSION['url'] = $_SERVER['HTTP_REFERER'];
// check_login.php
header('location: '.$_SESSION['url']);
但我需要获取倒数第二个 URL,而不是最后一个 URL。我如何在 PHP 中执行此操作?
最佳答案
做别人做过的事情:
第一种解决方案:
创建一个 hidden
页面中的字段,以便当用户点击 login
时它将带他到login.php
带有上一个链接的页面。然后您可以使用此链接做任何您想做的事情(例如,将其保存到 $_SESSION['url']
)。
第二种解决方案:
假设您有一个这样的 anchor :
<a href="login.php">login</a>
.
而不是只使用 login.php
你可以使用 login.php?redirect_to=http://example.com/post/1
这样你就可以从你的 login.php
访问 url带有 $_GET['redirect_to']
的页面请求。
注意:始终记得清理用户输入数据。
关于php - 如何在php中获取前两个页面的URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32076531/