MSIE中$ _SERVER ['HTTP_REFERER'] PHP变量的替代方案 [英] Alternative for $_SERVER['HTTP_REFERER'] PHP variable in MSIE

查看:414
本文介绍了MSIE中$ _SERVER ['HTTP_REFERER'] PHP变量的替代方案的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我的应用程序中使用了 $ _ SERVER ['HTTP_REFERER'] 变量(使用过PHP)。
在Firefox上面,变量很重要。但我发现 $ _ SERVER ['HTTP_REFERER'] 无法在Microsoft Internet Explorer 8上运行。
我还知道 HTTP_REFERER 变量在MSIE8和MSIE7上不起作用。

I have used $_SERVER['HTTP_REFERER'] variable in my application (used PHP). On Firefox above variables is wokring. But i observed that $_SERVER['HTTP_REFERER'] is not working on Microsoft Internet Explorer 8. I also got to know that HTTP_REFERER variable doesnt work on MSIE8 and MSIE7.

请给我你的建议,如何使用 $ _ SERVER ['HTTP_REFERER '] 可以摆脱MSIE7 / 8的变量,还是 $ _ SERVER ['HTTP_REFERER'] 变量的其他选择

Please give me your suggestions, how to use $_SERVER['HTTP_REFERER'] variable to get rid on MSIE7/8 or is there any other alternative for $_SERVER['HTTP_REFERER'] variable

感谢您的建议。

-Pravin。

推荐答案

如果您只需要在网站内部使用推荐人信息(即:在您网站的页面之间,而不是外部),您可以手动跟踪用户的推荐人信息。

If you only need to use the referrer information internally for your website (ie: between pages of your website, not externally), you can manually keep track of a user's referrer information.

// Get the full URL of the current page
function current_page_url(){
    $page_url   = 'http';
    if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on'){
        $page_url .= 's';
    }
    return $page_url.'://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
}

/* (Assuming session already started) */
if(isset($_SESSION['referrer'])){
    // Get existing referrer
    $referrer   = $_SESSION['referrer'];

} elseif(isset($_SERVER['HTTP_REFERER'])){
    // Use given referrer
    $referrer   = $_SERVER['HTTP_REFERER'];

} else {
    // No referrer
}

// Save current page as next page's referrer
$_SESSION['referrer']   = current_page_url();

然后,要访问引荐来源,只需使用 $ referrer 变量。

Then, to access the referrer, just use the $referrer variable.

if(isset($referrer)){
    echo 'Referred from "'.$referrer.'"';
    echo '<a href="'.$referrer.'">Back</a>';
} else {
    echo 'No referrer';
}

这样,如果用户访问 http:/ /www.example.com/page_1.php ,如果他们的浏览器提供了引用者信息,他们将看到引用者信息,否则没有引用者。然后,当他们访问 http://www.example.com/page_2.php 以及您网站的所有后续网页时,都可以访问引荐来源。

That way, if a user visits http://www.example.com/page_1.php, they will see the referrer information if their browser has provided it, otherwise no referrer. Then when they visit http://www.example.com/page_2.php, and any subsequent pages of your site, the referrer will be accessible.

这篇关于MSIE中$ _SERVER ['HTTP_REFERER'] PHP变量的替代方案的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆