cookie仅在设置它们的页面上确定

时间:2013-01-05 20:01:37

标签: php cookies

我有一个使用mvc模式的大网站,提供链接和内容的细节有点困难,但我想问一个简单的问题。

当我设置像setcookie("countviews_interview_downloads_1",'1',$this->registry->config['countviews_cookie_lifetime']);

这样的Cookie时

然后像这样检查:

if (isset($_COOKIE['countviews_interview_downloads_1']))
{
  print('msg: cookie is on interview #1');
  exit;
}

仅在已设置的页面上显示msg: cookie is on interview #1的消息。

如果我把上面的代码检查在任何页面上没有出现的cookie,就会表现得像从未设置过。

请帮帮我。谢谢!

1 个答案:

答案 0 :(得分:1)

如果您没有为cookie指定任何路径,则cookie仅对同一路径有效。在您的情况下将是/interview/christmas/countdownloads。因此,只需将Cookie的路径设置为/,它就会出现在所有其他路径中:

setcookie("countviews_interview_downloads_1",'1',$this->registry->config['countviews_cookie_lifetime'], '/')