5

所以我有一个我知道设置正确的cookie(使用firefox获取页面信息)并且我不断收到错误/警告“注意:未定义的索引:”。我正在使用访问 cookie $_COOKIE['username'];,当我这样做时if(isset($_COOKIE['username'])),代码不会运行。但是我可以在 Firefox 获取页面信息中看到未过期的 cookie。仅供参考,这里是我设置的 cookie 代码:setcookie('username', $username, time()+3600*24);

4

2 回答 2

6

您可能在一个 php 文件中定义 cookie,该文件位于您调用 isset 的 php 文件的不同文件夹中。

因此,将“/”添加为 cookie 的默认文件夹使其可用于整个网站。

有时,您不希望这种情况发生,因为您可能希望拥有两个名称相同但值不同的 cookie,具体取决于您所在的文件夹。

示例:具有 2 种语言的网站,您可以$_COOKIE['language'] = 'en';/en/文件夹中拥有和$_COOKIE['language'] = 'fr';/fr/文件夹中拥有。

因此,当您在未指定其目录的情况下设置 cookie 时,您必须记住它仅适用于同一文件夹或子文件夹中的文件。

于 2012-08-07T07:57:49.897 回答
1
$expire = time()+60*60*24*30;          
setcookie("MyName", "Khan", $expire,'/');
于 2014-08-22T19:51:11.023 回答