使用PHP查找哪个页面重定向浏览器以进入当前页面

时间:2015-03-30 14:50:06

标签: php html

我有页面' foo' (一个无法访问且无法更改代码的页面)和页面' bar' (我的网站上的一个页面,我可以更改代码)。我不知道' foo'的网址是什么?是。如果页面' foo'重定向到另一个页面' bar',我怎么能在' bar'上使用PHP?找到' foo'的网址?我已经尝试了$_SERVER['HTTP_REFERER'],但这并没有在页面重定向上获取,并且在页面从foo重定向到bar后没有返回任何内容。我不可能将任何代码放在' foo'。

感谢您提供任何帮助。

5 个答案:

答案 0 :(得分:1)

根据具体情况,一种方法可能是通过URL

发送对原始页面的引用

所以重定向foo就像这样;

www.example.com/bar.php?ref=foo

然后在bar.php

$original_page = $_GET['ref']

答案 1 :(得分:1)

  • 对于浏览此页面但仍未找到答案的人。

在bar.php中使用以下代码

<?php
// check if your page actually came from an external link
if (empty($_SERVER['HTTP_REFERER'])){ 
    $log = ""; //if no, set $log to nothing (or you can put a value)
}else{
    $log= $_SERVER['HTTP_REFERER']; 
    //if yes, then set log to the url of the page where the link to your page was clicked
}

?>

您现在可以echo $log,如果您愿意,它会给您推荐人的网址(如果确实点击了链接)。但是如果用户直接在浏览器地址栏输入,$log 会被设置为空字符串。

希望对您有所帮助

答案 2 :(得分:0)

您可以将该信息存储到会话中:

session_start();
$_SESSION['frompage'] = 'foo';
header('location:bar'); 

然后,在foo页面中:

session_start();
echo $_SESSION['frompage']

答案 3 :(得分:0)

将您的内容保存在会话变量中。如果它是同一个域,您可以轻松使用会话。

session_start();
$_SESSION['myvar'] = 'test';

答案 4 :(得分:0)

您可以通过get。

进行设置

bar.php

<?php
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
header("Location: foo.php?referer=".$url);
?>

然后在foo:

echo $_GET['referrer'];