当网站访问者手动更改URL时,如何根据URL设置cookie

时间:2015-05-07 17:31:22

标签: javascript php jquery cookies

我正在进行从Joomla到MODX的网站重新设计,并希望从当前网站复制某些内容,但无法找到管理此代码的代码。基本上,当用户访问该站点时,他们的位置由IP确定,并将URL设置为example.com/dc-metro,并将名为“market”的cookie设置为“dc-metro”。网站上有一个下拉列表供访问者更改其位置,因此如果他们选择“芝加哥”,则网址变为example.com/chicago,市场Cookie更新为“芝加哥”。该部分效果很好,我遇到的问题是,如果用户在example.com/dc-metro/cool-things-to-do上,而不是使用下拉列表更改位置,他们会手动将网址更改为example.com/chicago/cool-things-to-do,页面会刷新,但是cookie未更新。

有没有办法做一些像$SERVER['REQUEST_URI'](或类似的东西)来从URL中提取并在页面重新加载时设置cookie。我在网站上有几个地方根据市场cookie显示变量,而这些变量没有更新(例如,在我的下拉列表中,默认值是当前市场位置)。

非常感谢您提前寻求帮助。

1 个答案:

答案 0 :(得分: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功能。