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