我使用這個功能PHP函數檢查瀏覽器引用是否爲空?
ereg('http://.',$_SERVER['HTTP_REFERER']) != 1
要檢查如果訪問者點擊了一個鏈接或沒有直接進入到這個特定頁面。
我現在看到,ereg已被棄用,但沒有知識的PHP將其轉換爲可能preg_match?
有沒有其他的方法來檢查引用者是否爲空?
非常感謝!
我使用這個功能PHP函數檢查瀏覽器引用是否爲空?
ereg('http://.',$_SERVER['HTTP_REFERER']) != 1
要檢查如果訪問者點擊了一個鏈接或沒有直接進入到這個特定頁面。
我現在看到,ereg已被棄用,但沒有知識的PHP將其轉換爲可能preg_match?
有沒有其他的方法來檢查引用者是否爲空?
非常感謝!
您的正則表達式只接受以http://
開頭的查閱者。因此,如果有人從https://
頁面導航到您的腳本,則引用者將註冊爲空。任何具體原因?
如果沒有,使用empty()
永遠是可行的:
if (!empty($_SERVER['HTTP_REFERER']))
empty($_SERVER['HTTP_REFERER'])
空:
!empty($_SERVER['HTTP_REFERER']);
對於一個協議:
strlen(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_SCHEME)) > 0
試試這個:
if (preg_match('#http://#', $_SERVER['HTTP_REFERER'])){
// match found...
}
或者,如果您要檢查它是否是空的,使用empty
功能:
if (!empty($_SERVER['HTTP_REFERER'])){
// match found...
}