如何使用$ _COOKIE或任何其他方式检测特定域中的cookie

时间:2015-01-06 10:21:57

标签: php cookies

大家好,这是我之前发布的一个问题。但现在我发现了它背后的问题...当我使用我的脚本cookieset.php设置cookie时

setcookie("atid", 1234, time() + 60 * 60 * 24 * 365, "/", ".mydomain.com");

并在浏览器中显示

Name    atid
Content 1234
domain  mydomain.com

在另一个例子中,我以这种方式设置了一个cookie

setcookie('atid', '1234', time() + 60 * 60 * 24 * 365, "/", "localhost");

并在浏览器中显示

Name    atid
Content 1234
domain  localhost

但是当我尝试从另一个脚本中检索它时

echo 'value is: ' . $_COOKIE['atid'];

只有当我通过将域名作为localhost创建cookie时才会显示正确的值,但是当我给出时,我的特定域名$_COOKIE['atid'];不会检测到cookie但是会出错

undefnied index: atid in.........

任何人都可以帮我检测我的域名上的cookie

1 个答案:

答案 0 :(得分:0)

Cookie存储在客户端,即浏览器上。 Cookie也是特定于域的,子域可以访问父域的cookie。 例如:如果您为域test.com创建了cookie,那么www.test.com,demo.test.com等可以访问该cookie。

您无法使用您的域名访问Cookie的原因是,您可能已使用localhost创建了Cookie,即您的第二个代码 setcookie(' atid',' 1234',time()+ 60 * 60 * 24 * 365," /"," localhost& #34;); 并尝试从您的域名访问它。从上面的代码中删除localhost,然后尝试从您的域名访问它。

使用此代码:

setcookie('atid', '1234', time() + 60 * 60 * 24 * 365, "/");

如果问题仍然存在,请告诉我。