2011-05-31 76 views
2

我使用这个代码设置cookie:PHP检查的cookie设置另一个cookie的

setcookie("Blah","user",time()+86400); 

然后我检查另一页上的cookie和设置另一个cookie,那么重定向到另一个页面

if (isset($_COOKIE["Blah"])) 
    { 
     setcookie("Demo","user",time()+86400); 
    } 
$url="cd/bar/home.php" 
header ("Location: $URL"); 

但是,当它到达重定向页面时,它的行为就好像没有设置第二个cookie(如果它很重要,第二个页面位于不同的子目录中,所以我要从.com/fu/home开始。 php to .com/bar/home.php)

重定向的页面上我有了这个检查第二饼干

<?php 
if (isset($_COOKIE["Demo"])) 
{ 
?> 
html 
<?php 
} 
?> 

我不知道为什么它没有认识到cookie设置。我知道一个事实,即第一个cookie的检查工作正常。

+0

您是否在使用cookie之前开始了会话? – Pradeep 2011-05-31 22:50:07

回答

2

从手册页setcookie

[中$path说法]默认值是当前目录中的cookie被设定

因此该Cookie只被。用/fu/路径设置。如果您想将其设置为全局路径,请明确说明:

setcookie("Demo","user",time()+86400, '/'); 
+0

我觉得有这样的事情,我无法找到它。谢谢。当我有时间再试一次,并确保它的工作,我会接受这个答案。 – DForck42 2011-06-01 13:46:09

+0

像一个魅力工作,谢谢! – DForck42 2011-06-02 22:50:12