MSIE 中 $_SERVER['HTTP_REFERER'] PHP 变量的替代方案 [英] Alternative for $_SERVER['HTTP_REFERER'] PHP variable in MSIE
问题描述
我在我的应用程序中使用了 $_SERVER['HTTP_REFERER']
变量(使用 PHP).在 Firefox 上,上面的变量是 wokring.但我观察到 $_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屋!