无法使用PHP检索某些cookie

时间:2012-07-21 19:46:10

标签: php cookies

我必须遗漏一些简单的东西,但这让我感到沮丧。

我正在设置一大堆数组cookie,如下所示:

setcookie("adjusted[$title]", $title, time() + 3600, "/", ".domain.com");

这很好用,正在设置cookie,我可以在浏览器的cookie列表中看到它们。

然而,我似乎无法只阅读某些值!我不知道为什么。例如,我设置了这个cookie:

adjusted[calldelivernow.net]

我可以在Firefox的cookies页面中看到它的名字,内容是“calldelivernow.net”。但所有这样做的尝试都会返回错误:

if(isset($_COOKIE["adjusted"]["calldelivernow.net"]))
    die("Cookie is set");

这只是众多的一个例子,所有这些参数都在相同的参数下,只是使用不同的域名。我到底在这里错过了什么?如何在浏览器中明显存在cookie,但PHP无法读取它?

2 个答案:

答案 0 :(得分:4)

因为您没有正确地使用它的名字来调用它。与表单名称不同,cookie不会堆叠到数组中。

尝试$_COOKIE["adjusted[calldelivernow.net]"]

答案 1 :(得分:0)

问题似乎是cookie名称,不能包含句点!奇怪的是,Firefox实际上显示cookie名称是正确的并包含句点,但$_COOKIE数组用下划线替换句点,如下所示:["calldelivernow_net"]=> string(4) "test"