2011-05-26 102 views
0

我在展示/隱藏基於引薦網頁的鏈接時遇到了一些問題。我只是擔心頁面沒有任何額外的查詢結果。根據引用網址顯示鏈接

以下是更新後的腳本

<? 

$last_page = GetHostByName($_SERVER['HTTP_REFERER']); 

    if(strpos($last_page,"fall2011")) 
    { 
     echo '<li><a href="'. $last_page .'" class="navigation-link">Fall 2011</a></li>'; 
    }else{ 
     //THIS IS HERE FOR TESTING 
     echo $last_page; 
} 


?> 

出於某種原因,我仍然沒有得到引薦數據。

+1

請關閉註冊全局變量。他們已被棄用。改爲使用'$ _SERVER'。 – alex 2011-05-26 02:09:10

+0

不要使用'@',你會看到你的方式錯誤。 – 2011-05-26 02:10:36

+0

我更新了我的劇本,現在我收到以下錯誤;注意:未定義指數:HTTP_REFERER在/var/www/vhosts/mypage.com/httpdocs/splash.php第4行,如果有任何形式的URL重寫回事那會搞砸了嗎? – Denoteone 2011-05-26 05:31:38

回答

1

爲什麼不使用$ _ SERVER [ 'HTTP_REFERER']?

無論如何,你想看看http://php.net/manual/en/function.strpos.php其搜索字符串的出現次數在另一個字符串,而不是測試兩個字符串匹配100%。

編輯:

那麼,當你測試腳本,你至少去腳本通過一個鏈接?你知道嗎,你不是否則引用者...

如果你正在經歷一個鏈接,並在網址,其中的鏈接是包含fall2011?此外,還要回應'測試';在else {}塊中,查看strpos()的條件是否失敗。

+0

我正在使用您的兩條建議(請參閱上面的編輯),但我仍未獲取URL信息。 – Denoteone 2011-05-26 05:21:37

+0

編輯,見上。 – Claudiu 2011-05-26 09:45:37

+0

我確實添加了一個回聲測試,並且可以正常工作,而且我正在通過mywebsite.com/fall2011/頁面上的鏈接訪問它。當我打開錯誤報告時,我得到了通知:未定義的索引:HTTP_REFERER位於/var/www/vhosts/mypage.com/httpdocs/splash.php第4行 – Denoteone 2011-05-26 15:59:59

1

鏈路最肯定有其協議,例如http。您需要在強大的比較中添加它。

而且

  • 訪問$_SERVER['HTTP_REFERER']。註冊全局變量已被棄用,並有充分的理由。
  • 請勿使用錯誤抑制器運算符@
  • 不要使if什麼都不做身體和else。相反,翻轉條件。