2016-09-30 57 views
0

要獲得正確的htpp/https +域名,我使用$ _SERVER ['HTTP_REFERER']。 它運作良好,在FF,但在Chrome中我得到的錯誤:未定義指數:HTTP_REFERER未定義的索引錯誤:Chrome中的HTTP_REFERER,但未在FireFox中

我可以在上面通過聲明

$_SERVER['HTTP_REFERER'] = ''; 

解決這個簡單的包含在下一行代碼,但我發現它奇怪的是這個錯誤出現在Chrome中。或者我必須在函數的開頭聲明$ _SERVER ['']?

+2

這只是意味着Chrome網絡瀏覽器未發送引薦。如果沒有指定,那麼PHP不能提供一個。這與PHP無關。您必須指定可以顯示瀏覽器的這種不同行爲的精確情況。 – arkascha

+0

http://stackoverflow.com/a/12369682/4248328 –

+2

可能重複[$ \ _ SERVER \ ['HTTP \ _REFERER'\]失蹤](http://stackoverflow.com/questions/12369615/serverhttp-referer-缺少) –

回答

0

只要檢查它是否設置。簡單地說:

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

$referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';