cookie在页面导航之间迷路了

时间:2013-11-25 14:21:56

标签: php cookies session-cookies

我有一个像这样的cookie:

$_COOKIE['admin'] = 'foo';

现在是第一次,我可以看到这个cookie使用var_dump($_COOKIE['admin'])进行序列化。所以,我删除了那个cookie而只是放置了它。

if(isset($_COOKIE['admin']){
  echo 'hello admin';
}else{
  echo 'hello visitor';
}

通常这适用于所有页面,但它只能运行一次。意思是,如果我浏览索引页面,它可以工作,如果我导航到其他页面(相同的网站)然后回到索引页面,cookie就会丢失。并且没有什么可以在任何页面中销毁/取消设置任何cookie /会话。

这可能是什么问题

2 个答案:

答案 0 :(得分:4)

我认为你应该像这样设置cookie值:

setcookie("name","value", $time, "/");

这包含在PHP文档中的here

答案 1 :(得分:4)

要在所有页面中使用Cookie,请像这样使用

$value = 'foo';
setcookie('admin', $value, time() + (60 * 60 * 24));

现在,一个名为'admin'且值为'foo'的cookie将可用1天。 path参数是可选的。但是如果你将它设置为“/”,它将在整个域中可用。