2015-05-07 31 views
0

我正在從Joomla重新設計到MODX的網站,並希望從當前網站中複製某些內容,但無法找到代碼的位置是管理這個。基本上,當用戶訪問網站時,他們的位置由IP決定,並將URL設置爲example.com/dc-metro之類的值,並將名爲「market」的cookie設置爲「dc-metro」。網站上有一個下拉菜單供訪問者更改其位置,因此,如果他們選擇「芝加哥」,則URL將變爲example.com/chicago,市場cookie將更新爲「chicago」值。這部分工作很好,我遇到的問題是,如果用戶在example.com/dc-metro/cool-things-to-do上,而不是使用下拉菜單來更改位置,他們會手動將URL更改爲example.com/chicago/cool-things-to-do,頁面刷新,但Cookie不會更新。如何在網站訪問者手動更改URL時根據URL設置Cookie

有沒有辦法做一些像$SERVER['REQUEST_URI'](或類似的東西)來從URL中提取並在頁面重新加載時設置cookie。我在網站上有幾個顯示基於市場cookie的變量的地方,這些地方沒有更新(例如,在我的下拉列表中,默認值是當前的市場位置)。

非常感謝您的幫助。

+1

您可以使用'$ _SERVER ['PHP_SELF']'或$ _SERVER ['REQUEST_URI']',然後從中獲取頂級目錄並設置cookie。 – Barmar

回答

1

您可以使用parse_url函數。例如:

$url_path = parse_url($SERVER['REQUEST_URI'], PHP_URL_PATH); 
$path_parts = explode('/', trim($url_path,'/')); 
$location = $path_parts[0]; 

$ location變量將包含您需要的內容。然後,只需要將cookie設置爲正確的值即可。使用setcookie功能。

+0

謝謝!在玩過一些遊戲後,我可以使用它並添加幾行代碼,以便立即更新cookie值,而無需手動刷新頁面。對此,我真的非常感激。 – Robert