2013-05-16 24 views
1

有人可以告訴我:使用php獲取引用者

我們可以使用php獲得兩個後退引用嗎?例如有人通過google.com來到mysite.com,然後他/她點擊了任何其他頁面,如mysite.com/page.php,並且該頁面引用者應該是google.com而不是mysite.com

可能? 普萊斯幫助,如果存在

+0

如果您想跟蹤用戶訪問並通過您的網站的路徑,請將當前的引薦者附加到會話中的每個請求的URL列表中。如果你想知道任何通過你的鏈接的東西,但是,你有點兒搞砸了。 – cHao

回答

3

您可以將它保存到cookie或會話並在下一頁使用它。

if (!isset($_SESSION)) { 
    session_start(); 
} 
if (!isset($_SESSION['referrer'])) { 
    $_SESSION['referrer'] = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'n/a'; 
} 

// another page 

$referer = isset($_SESSION['referrer']) ? $_SESSION['referrer'] : null; 
+0

偉大的工作,它的工作完美:)你真棒 –

1

使用$_SERVER['HTTP_REFERER']將得到引用。這是不可能實現的。否則,我會有興趣知道。

+0

我認爲問題在於如何在您的網站內部點擊鏈接時將引薦鏈接傳遞給下一步。 –

+0

我想2步後退referrer ..不是當前頁面引用者 –

+0

是Maxim Khan你是對的我想知道如何將引用者傳遞到下一頁/步驟? –

1

我一直在尋找做同樣的事情在幾年前

+0

Maxim Khan-Magomedov的代碼工作完美的2步後援引用:) –

+0

@borniet是正確的。它只適用於你自己的網頁。如果這是你正在尋找的,那麼很好:) – user2385109

1

變量

$_SERVER['HTTP_REFERER'] 

可以包含引用者,但它只能去一層深,所以你可以看到訪問者來自,退一萬步來了,但不是兩個步驟。

+0

馬克西姆汗 - 馬戈梅多夫的代碼完美的2步後退referrer :) –

+1

只有當他們在你自己的網頁,而不是如果他們來自另一個頁面。 – Borniet