我在使用PHP设置cookie时遇到了这个奇怪的问题。直到今天早上我将脚本上传到服务器时,一切正常。
以下是我的一些代码
if (!isset($_COOKIE["loggedin"])){
show login form } else { show content }
这是在我的登录页面
setcookie("loggedin", "true", time()+3600,"/","mydomain.com");
我知道使用cookie进行登录不是最好的做法,但它是一个虚拟网站。 任何......直到今天早上,饼干都能正常工作,但现在他们不会。 我以前遇到过类似的问题,但我不记得我是怎么解决的:(
非常感谢任何帮助!
答案 0 :(得分:1)
你的烤箱够热吗?
... ahem
检查警告。你在标题之前发出内容吗?如果是这样,你要么想要提高你的setcookie(),要么使用输出缓冲。
尝试
var_export($_COOKIE);
看看是否有任何东西存在。
检查cookie是否设置为开头。有很多方法可以在HTTP标头出现时观察它们。如果您使用Firefox,请尝试Live HTTP Headers扩展。
答案 1 :(得分:1)
我也遇到过这个问题。我发现浏览器中保存的cookie取决于浏览器和服务器。 检查从浏览器设置的Cookie :
Internet Explorer 7和8
工具>互联网选项> (一般标签)>浏览历史记录>设置>查看文件
火狐
工具>选项>隐私>显示Cookie
array()响应表明正在设置多个cookie。
答案 2 :(得分:0)
检查您的浏览器是否阻止了Cookie。如果之前有效,并且当您将其放在不同的服务器上时问题就开始了,那可能是最可能的原因。
答案 3 :(得分:0)
检查您网域上的浏览器Cookie。如果您使用的是Firefox,请使用FireCookie获取Firebug等Web开发人员扩展程序。或者,如果您使用的是IE,请获取IE Cookie Viewer
尝试删除路径和域参数:
setcookie("loggedin", "true", time()+3600);
它可能只是帮助。我之前遇到过类似的问题,丢弃它们可以使我的应用程序正常工作 - 很奇怪。