将cookie路径设置为“/”不会使整个站点都可以访问cookie

时间:2009-12-01 21:45:33

标签: php cookies

为什么将php cookie路径设置为“/”不适用于域中的每个子目录,而只适用于当前目录。

cookie设置如下:

setcookie("name", "val", expire_time, "/");

它只是不想工作。

4 个答案:

答案 0 :(得分:25)

尝试包含域参数:

setcookie("name", "val", expire_time, "/", ".domain.com");
// don't forget the prefixing period: .domain.com

将启用“domain.com”的所有sudomains

答案 1 :(得分:23)

您是否在localhost上进行测试?在这种情况下,您需要传递null作为$domain的值。

答案 2 :(得分:7)

将Cookie路径设置为/应该可以将其用于整个域。如果您像这样设置cookie,并且没有发送,那么还有其他错误。

尝试在Firefox中使用Web Developer插件。它会显示有关可用cookie的详细信息。也许这可以帮助您诊断问题。

答案 3 :(得分:3)

参加晚会,我知道。但我刚刚发现我的问题非常愚蠢,但我会将其发布完成:

我忽略了将时间()添加到cookie上的过期时间,因此它会立即到期。

过期时间应为time()+ seconds