Php 使用WordPress设置Cookie

Php 使用WordPress设置Cookie,php,wordpress,cookies,session-cookies,Php,Wordpress,Cookies,Session Cookies,可能重复: 我的目标是:当用户访问我的网站登录页并选择他们的城市(x或y)时,我想设置一个cookie来记住这个选择,这样下次他们访问登录页时,它会直接重定向到他们的城市。我目前拥有的代码如下: 登录页: <?php if (isset($_COOKIE['cambridge'])) { header('Location: http://cambridge.guestvibe.com'); } else if (isset($_COOKIE['oxford'])) { h

可能重复:

我的目标是:当用户访问我的网站登录页并选择他们的城市(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');
}
?>

这是因为您使用的
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的更多信息,请查看PHP文档。

是否尝试启用错误报告?Firebug/Liveheaders等怎么说?没有错误报告标记的错误。我在Firebug里找什么?谢谢你的回复。不幸的是,这对我不起作用。如果有帮助,主页是www.guestvibe.com/index2.php,城市是cambridge.guestvibe.com。您是否注意到,在使用
setcookie()
之后,
$\u COOKIE
中的数据将无法访问,直到下一个服务器请求(例如:页面重新加载)?我设法解决了这个问题。这也是WordPress的问题。在原始问题中添加了额外的位。
setcookie('city','Cambridge',time()+86400*365, "/", ".guestvibe.com");
setcookie('city','Cambridge',time()+86400*365); // remember for 365 days.
if ($_COOKIE['city'] == 'Cambridge') {
    // redirect
} else if ($_COOKIE['city'] == 'Oxford') {
    // redirect
}