2013-01-05 85 views
0

我有一个使用mvc模式的大网站,提供有关链接和内容的详细信息有点困难,但我想问一个简单的问题。Cookie只在设置的页面上被确定

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

再检查这样的:出现

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

一条消息,msg: cookie is on interview #1只有当它被设置在页面上。

如果我在上面的代码中检查cookie在anyther页面上没有出现,它的行为就像从未设置过。

请帮我解决。谢谢!。

+0

您指的是什么样的“网页”? – Gumbo

+0

我不明白你指的是我指的是什么样的网页。 Cookie正在'/ interview/christmas/countdownloads'上设置,如果我在这个页面上添加了一个校验码,那么消息显示cookie已设置,但是如果我在页面'/ interview'或'/ interview/christmas /'或'/'或其他地方的消息不显示。似乎它只是为那个网页设置的。 – Davit

回答

1

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

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

好的,我会检查它。谢谢。 – Davit

+0

嗯。现在它的工作,但我以前试过,它没有工作,也许是因为我也表示域?好吧,我会保留它。非常感谢你。我会接受你的答案asasp。 – Davit

+0

@tmpmember不,指定域是没有必要的。如果未明确指定,则再次使用发行域。 – Gumbo

相关问题