如何在PHP中检查页面是直接加载还是从其他页面重定向?

时间:2011-07-11 08:20:29

标签: php redirect pageload

假设我有两页Page1.php和Page2.php。有时Page1.php是直接加载的,有时会从Page2.php重定向。我的问题是,我可以检查Page1.php是直接加载还是从Page2.php重定向。(如果不使用查询字符串)

3 个答案:

答案 0 :(得分:7)

在Page2.php中设置一个会话变量,并在Page1.php

中对其进行控制

<强>使page2.php

<?php
session_start();
$_SESSION['from2'] = true;
header('Location: /Page1.php');
?>

<强> page1.php中

<?php
session_start();
if(isset($_SESSION['from2']) && $_SESSION['from2']) {
  /* from Page2.php logic here */

  unset($_SESSION['from2']);
}else{
  /* not from Page2.php */
}
?>

答案 1 :(得分:1)

您可以阅读全局变量$_SERVER['HTTP_REFERER']的值。

答案 2 :(得分:1)

$ _ SERVER [ 'HTTP_REFERER']

虽然查看手册以了解无法信任的原因: http://uk3.php.net/manual/ro/reserved.variables.server.php