pra*_*vin 14 php http-referer internet-explorer httprequest internet-explorer-8
我$_SERVER['HTTP_REFERER']在我的应用程序中使用了变量(使用PHP).在Firefox上面,变量很重要.但我发现这$_SERVER['HTTP_REFERER']不适用于Microsoft Internet Explorer 8.我也知道HTTP_REFERER变量不适用于MSIE8和MSIE7.
请给我你的建议,如何使用$_SERVER['HTTP_REFERER']变量摆脱MSIE7/8或是否有任何其他$_SERVER['HTTP_REFERER']变量的替代品
谢谢你的建议.
-Pravin.
Ada*_*dam 25
如果您只需要在内部为您的网站使用推荐人信息(即:在您网站的页面之间,而不是在外部),您可以手动跟踪用户的推荐人信息.
// 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();
Run Code Online (Sandbox Code Playgroud)
然后,要访问引用者,只需使用该$referrer变量.
if(isset($referrer)){
echo 'Referred from "'.$referrer.'"';
echo '<a href="'.$referrer.'">Back</a>';
} else {
echo 'No referrer';
}
Run Code Online (Sandbox Code Playgroud)
这样,如果用户访问http://www.example.com/page_1.php,他们将看到推荐人信息,如果他们的浏览器提供了它,否则没有推荐人.然后,当他们访问http://www.example.com/page_2.php您网站的任何后续网页时,推荐人都可以访问.