2013-03-03 30 views
-1

我正在使用PHP並希望檢查同一頁面的鏈接,但使用不同的結尾信息。如何在URL中查詢後的URL#

的URL頁面通常是http://www.mypage.com/?about但如果用戶通過點擊鏈接訪問其發送的用戶獲得發送到http://www.mypage.com/?about#send

如果用戶點擊INFO他們去http://mypage.com/?about#info

問題怎麼辦我檢查了#以及之後會發生什麼? 我試過$_SERVER[query_string],它顯示about#send,我只需要檢查數字符號#後面是什麼。

回答

0

您可以閱讀你的網址後,使用此代碼:

$s = $_SERVER[query_string]; 
$url = explode('#',$s); 
echo $url[1]; 

在此代碼$網址[1]是你想要的值。 通過#拆分url,創建一個數組。

+3

不是。散列部分未發送到服務器。 – 2013-03-03 08:05:43

+0

閱讀這個問題,試了$ _SERVER [query_string],它顯示#send。所以他有網址。 – 2013-03-03 08:08:57

+1

除非有OP沒有告訴我們的東西,但仍然不能實現。 – 2013-03-03 08:22:46

0

這是更好地做客戶端,但這裏的PHP代碼比可以做到這一點:

<? 
echo parse_url("http://mypage.com?about#send",PHP_URL_FRAGMENT); 
?> 
Outout : send 
+0

第二部分只是從薩曼複製,然後稍作修改......此外,第一部分已經工作(理論上)。 – 2013-03-03 08:21:54

+0

好的,我一次回答5個以上的問題,而且我沒有給別人多少錢。我很抱歉的相似性,但答應我,我沒有看到。你是對的,但我沒有複製。看看我的個人資料和我在這20分鐘給出的答案,你會看到我沒有說謊 – MIIB 2013-03-03 08:24:48

+2

至少清理它,以便它不會爲未定義的常量'query_string'(並使用大寫)和未定義的索引'1'如果沒有散列......這是沒有的。 – 2013-03-03 08:26:36

0

散列部分(下面的#號的所有內容)不會發送到服務器,你不能讓在你的PHP腳本中。你只能用javascript來操縱它。這是通過window.location.hash屬性實現的。

+1

這些信息也可以在標有重複的地方找到,不需要在這裏寫下另一個答案:) – 2013-03-03 08:24:34

+1

對不起,我沒有注意到有重複。我會投票結束。謝謝。 – 2013-03-03 08:25:30