2011-04-23 78 views
0

我是一個完整的PHP新手,我甚至不確定我是否應該使用PHP來處理我正在做的事情,但這裏就是這樣。基本上我想要做的是基於用戶來自哪裏,改變頁面上的鏈接以鏈接到另一個位置。我覺得這是非常基本的,但我不確定如何將我的搜索詞組化以獲得最佳結果。我將如何做到這一點?從PHP腳本更改頁面?

回答

1

你可能想沿線的

<?php if ($_SERVER['HTTP_REFERER'] === 'http://www.example.com') { ?> 
    <a href="http://www.example.com/1">1</a> 
<?php } else { ?> 
    <a href="http://www.example.com/2">2</a> 
<?php } ?> 
+0

就個人而言,我總是喜歡自認爲的「www」並不總是保證是目前做的這些事情strpos。 – Cthos 2011-04-23 00:58:05

+0

這項工作將確定用戶來自哪個網站的確切頁面? – Jumhyn 2011-04-23 00:59:56

+0

@Jhhyn當它被設置時,HTTP_REFERER確實包含了將用戶導向頁面的url的完整路徑,是的。 – Cthos 2011-04-23 01:10:55

1
$_SERVER['HTTP_REFERER']; 

這東西會給你的客戶端請求的頁面的URL。正如在這篇文章中所說:「請注意,它是由客戶端提供的,因此它可能是空的或僞造的,所以不要相信它在安全方面。」

source of REQUEST

0

不知道你到底會如何最好谷歌認爲,但希望這將讓你開始:

揣摩出用戶來自何處,你需要$ _ SERVER [「HTTP_REFERER」]。 這裏有一個基於做一個頭重定向的教程:http://bytes.com/topic/php/answers/7406-how-redirect-based-_server-http_referer

但是,你會想用一個鏈接替代使用header()來替代回顯。

這麼快片段,將是這樣的:

if (!empty($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], 'stackoverflow.com')) { 
    echo "<a href='http://thatplaceiwanttogoto.com'>Here</a>"; 
} else { 
    echo "<a href='http://thatotherplace.com'>There</a>"; 
}