2009-09-05 71 views
0

我有用PHP设置cookie的奇怪问题。一切正常,直到今天上午,当我上传我的脚本到服务器。我的饼干不会正常烘烤

下面是我的一些代码

if (!isset($_COOKIE["loggedin"])){ 
show login form } else { show content } 

这是我的登录页面

setcookie("loggedin", "true", time()+3600,"/","mydomain.com"); 

我知道使用cookie的登录是不是最好的做法,但它是一个虚拟的网站。 任何人...'直到今天早上,饼干工作正常,但现在他们不会。 我以前也有过类似的问题,但我不记得我如何解决它:(

任何帮助是非常赞赏!

回答

1

我也有这个问题。我发现保存在浏览器中的cookie取决于浏览器和服务器。检查Cookie从浏览器被设置:


Internet Explorer 7和8个

工具> Internet选项>(常规选项卡)>浏览历史记录>设置>查看文件

火狐

工具>选项>隐私>显示Cookie


array()响应表明正在设置多个cookie。

+0

我三重检查了我的代码,但只有一个地方设置了Cookie。 – Aviatrix 2009-09-06 13:45:03

1

是您的烤炉不够热?

... 啊哈

检查警告。你发射头前的内容吗?如果是这样,你要么想要移动的setcookie()较高或使用输出缓冲。

尝试

var_export($_COOKIE); 

看看有没有什么实际存在。

检查cookie是否被设置为开头。有很多方法可以在HTTP头下降时观看。如果您使用Firefox,请尝试使用Live HTTP Headers扩展。

+0

我得到这个“array()”,我刚刚在setcookie函数后面添加了导出。 – Aviatrix 2009-09-05 18:03:32

+0

您绝对要检查警告并检查传入的头文件。 – Charles 2009-09-05 18:38:14

0

检查您的浏览器是否阻止了Cookie。如果它以前工作过,并且在将它放到不同的服务器上时出现问题,那可能是最可能的原因。

+0

不,我的浏览器没有阻止cookie ..我没有一大堆服务器来测试:/ – Aviatrix 2009-09-06 13:43:06

0

检查您的域名上的浏览器Cookie。如果您使用的是Firefox,请使用FireCook和FireCookie获得Web开发人员扩展。或者,如果你使用IE浏览器,获得了IE Cookie Viewer

尝试下探路径和域参数:

setcookie("loggedin", "true", time()+3600); 

它可能只是帮助。我之前有类似的问题,放弃它们可以让我的应用程序工作 - 奇怪。

+0

我试图放弃域和路径参数..仍然没有..我得到了pisd,并使用会话,而不是.. – Aviatrix 2009-09-06 13:43:42