我正在尝试设置Cookie。
我已经在localhost中成功设置了它,但是当我在生产站点上尝试它时,它不起作用
localhost代码:
<?php
if (!$_COOKIE['locationid']){
setcookie("locationid",'1',time()+604800,'http://localhost/boot/' );
}
echo $_COOKIE['locationid'];
服务器代码:
<?php
if (!$_COOKIE['locationid']) {
setcookie("locationid", '1', time() + 604800, "www.example.com/demo/");
}
echo $_COOKIE['locationid'];
答案 0 :(得分:1)
您对setcookie
的来电似乎不正确。
应该是这样的:
setcookie("locationid", '1', time() + 604800, "/demo/", "example.com");
第三个参数是路径,您将域和路径一起传递。 第四个参数是域名,您可以将其设置为example.com
而不使用www
,因此它适用于www和“裸”域。
这些都是可选参数,但请注意,当客户端点击“/ demo /”下的页面而不是您站点的根目录(“/”)时,将这种方式设置为cookie。
另外,我会使用isset
检查cookie的存在,如下所示:
if (isset($_COOKIE['locationid'])) {
如果没有设置cookie,您可能会收到尝试访问未定义索引的通知。