我的目标是:当用户访问我的网站目标网页并选择他们的城市(x或y)时,我想设置一个记住此选项的Cookie,因此下次他们访问目标网页时会直接重定向到他们的市。我目前的代码是:
着陆页:
<?php
if (isset($_COOKIE['cambridge'])) {
header('Location: http://cambridge.guestvibe.com');
}
else if (isset($_COOKIE['oxford'])) {
header('Location: http://oxford.guestvibe.com');
}
?>
特定城市页面(一个示例):
<?php setcookie("Cambridge",""); ?>
我也试过了:
<?php setcookie("Cambridge",""); ?>
这对我不起作用,但这是我第一次使用cookies。知道什么是错的吗?
修改
接受的答案解决了问题的一半,但对于WordPress,还需要添加一些代码,解释here。
最终代码是:
setcookie('city','Cambridge',time()+86400*365, "/", ".guestvibe.com");
答案 0 :(得分:2)
这是因为在浏览器关闭时,setcookie()
的使用必然会过期。 setCookie
有第三个参数,您应该用它来设置它何时到期。将此默认设置为浏览器关闭时的默认值。以下是有关如何设置将在365天后过期的Cookie的示例:
setcookie('city','Cambridge',time()+86400*365); // remember for 365 days.
然后,将代码更改为以下内容:
if ($_COOKIE['city'] == 'Cambridge') {
// redirect
} else if ($_COOKIE['city'] == 'Oxford') {
// redirect
}
有关设置cookie的更多信息,请查看setcookie的PHP文档。