php - 如何在php中获取前两个页面的URL

标签 php session url

我有一个名为 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/

相关文章:

android - 如何在整个android原生应用程序中维护服务器登录?

javascript - 使用 JavaScript 的 session_destroy()

php - Codeigniter 无法在 IIS 中运行

google-chrome - 如何禁用谷歌浏览器 url 转义?

c# - 如何在 Javascript 中确定运行时的页面 URL?

PHP:While循环与获取数组永远运行?

php - 从wordpress数据库中选择类:

php - 如何在有条件的 PHP 语句中使用 JS 确认?

javascript - Bootstrap Modal 无法刷新数据

http - Arduino GET 方法链接