【问题标题】:Get request page name or url when doing a redirection进行重定向时获取请求页面名称或 url
【发布时间】:2014-05-26 12:22:12
【问题描述】:

如何获取加载源页面的请求页面名称或uri。

解释如下:

index.php

<?php
  header('Location:target.php');
?>

目标.php

<?php
  // How to check here if the redirection has happened from index.php
?>

【问题讨论】:

标签: php


【解决方案1】:

你可以使用下面的代码

echo $_SERVER["HTTP_REFERER"];

但为了确保您可以真正获得页面的确切来源,您可以在进行重定向之前将当前 url 存储到会话中并将其读取到下一页。

在原始页面中

$_SESSION['origin'] = $_SERVER['REQUEST_URI'];

然后在下一页

echo $_SESSION['origin'];

【讨论】:

  • 非常感谢!这很有用!
【解决方案2】:

您可以使用 $_SERVER["HTTP_REFERER"] 但它不能被信任。有些浏览器会有正确的值,而有些浏览器会有空值。

以下是 php 手册的说明:

'HTTP_REFERER' 引用该页面的地址(如果有) 用户代理到当前页面。这是由用户代理设置的。不是全部 用户代理会设置这个,有些提供修改的能力 HTTP_REFERER 作为一个特性。 简而言之,它不能真正被信任。

简而言之,我认为您无法获得可靠的解决方案来满足您的需求。

【讨论】:

  • 非常感谢您的回复。这很有帮助。但我认为将其存储在数据库中的解决方案为我的问题提供了解决方案。感谢您的帮助。
猜你喜欢
  • 2011-01-19
  • 2013-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-06
相关资源
最近更新 更多