2012-11-15 80 views
0

我已經成功地跟蹤了點擊的來源,然後讓我的網站根據點擊來自何處顯示元素。一個代碼示例是這樣的:Referer =類別?

$referer = $_SERVER['HTTP_REFERER']; 

if ($referer == "http://www.testdomain.com/testpage") { 
echo '<div id="bgphotos"></div>'; 
} else { 
    echo '<div id="bgvideos"></div>'; 
} 

因此,這是告訴我的網站,如果它是從http://www.testdomain.com/testpage單擊以顯示bgphotos股利。這工作真棒。我甚至做了更多的編碼來跟蹤網頁中某些div的點擊情況。但是,如果從類別中點擊某個元素,我想顯示一個元素。

現在,我認爲解決方案只是將$ referer更改爲類別網頁。但問題是,當有職位的多個頁這一類別中,你將不得不手動跟蹤每個類別頁碼...這將永遠走..一個例子是:

if ($referer == "http://www.testdomain.com/category/test/") { 
//do this } 

if ($referer == "http://www.testdomain.com/category/test/page/2/") { 
//do this } 

if ($referer == "http://www.testdomain.com/category/test/page/3/") { 
//do this } 

if ($referer == "http://www.testdomain.com/category/test/page/4/") { 
//do this } 

由於你可以看到這隻會失控,我將不得不跟蹤每一個可能的分類頁面。那麼有沒有什麼辦法可以說,只要跟蹤某個類別中點擊的內容?或者還有其他解決方案來解決這個問題嗎?

任何幫助將不勝感激洙洙洙洙很多! :) loll。它真的會。

回答

0

正則表達式可以工作。

if(preg_match("(^http://www\.testdomain\.com/category/test/(?:page/\d+/)?$)",$referer)) { 
    // do this 
} 
+0

Awsome男人,像一個魅力工作!非常感謝,這是德夫。一些令PHP感到頭痛的問題。你怎麼學會做所有這些? – user1658560

+0

這是最基本的正則表達式。但是我從五六年的經驗中學到了東西。 –