将原始http_referer传递给其他页面

时间:2013-01-15 09:33:04

标签: php navigation breadcrumbs http-referer

我的商家资料设置了单独的图库页面。这些页面的标题是php include。

我正在尝试为此配置文件设置面包屑跟踪,因此我使用http_referer来跟踪我来自哪个列表页面。

if ($title == 'Business Profile'){
session_start();
$referer = $_SERVER['HTTP_REFERER'];
}
?>

我遇到的问题是将http_referer作为变量从业务配置文件传递到图库页面。我该如何做到这一点,以便我可以从业务配置文件和图库链接回列表页面?如果我在图库页面上使用http_referer,它只会让我回到我来自的配置文件。

2 个答案:

答案 0 :(得分:1)

你可以使用cookies吗?例如,在您的目标网页上;

if(!isset($_COOKIE['HTTP_REFERER']))
{
    $expiryTime = time()+(60*60*24); // Set to expire after 1 day
    setcookie('HTTP_REFERER',$_SERVER['HTTP_REFERER'],$expiryTime,'/');
}

然后在所有其他页面上,您可以检测是否已设置cookie;

if(isset($_COOKIE['HTTP_REFERER']))
{
    $referer = $_COOKIE['HTTP_REFERER'];
}

答案 1 :(得分:0)

1)我应该检查引用地址是否不是来自我的服务器。

2)如果没有,您可以将其保存到会话或cookie。

3)最后你可以按照自己的意愿使用它;

<?php
session_start();
if(strstr($_SERVER['HTTP_REFERER'],$_SERVER['SERVER_NAME'])===FALSE){
    $_SESSION['refererPage']= $_SERVER['HTTP_REFERER'];
    // or set cookie by Stu
}
?>

使用例如。

<?php
if(!empty($_SESSION['refererPage']))
    echo '<a href="'.$_SESSION['refererPage'].'">Back</a>';
?>