可能重复: Cookie在PHP中不持久化?
我的目标是:当用户访问我的网站登陆页面并选择他们的城市(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",""); ?>这不适合我,但这是我第一次用曲奇饼干。你知道怎么回事吗?
编辑
接受的答案解决了一半的问题,但是对于WordPress来说,也需要添加一些代码,这里解释道。
最后代码是:
setcookie('city','Cambridge',time()+86400*365, "/", ".guestvibe.com");发布于 2012-09-29 17:05:19
这是因为当浏览器关闭时,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
}有关设置cookies的更多信息,请查看赛特曲奇的documentation。
https://stackoverflow.com/questions/12654454
复制相似问题