Session在localhost上运行正常,但在webhost服务器上运行不正常

时间:2014-07-02 12:10:01

标签: php session cookies

我编写了一个登录脚本,可以在我的测试服务器(localhost)上运行得很好,但是当我将它上传到我的网站主机的Web服务器时它不起作用。

我已将其缩小到会话问题 - 成功登录后,会话设置成功,用户被重定向,但当用户被重定向到加载页面时,会话显然已经消失。

我宁愿不发布完整的源代码(但是),但这是它的逻辑:

login.php:显示表单,提交给self,检查user / pass并设置$ _SESSION ['loggedIn'] = true;然后重定向到index.php

index.php:检查$ _SESSSION ['loggedIn'] == true(如果没有设置,或者为false,重定向回login.php)。

所以问题是当用户在登录并在login.php中设置会话后被重定向到index.php时,$ _SESSION ['loggedIn']甚至不存在。

有没有人知道可能会导致这样的事情? 网络主机服务器确实支持Cookie /会话 - i made a very simple test,并且它有效,所以我想我的代码必须有... :(但我真的不明白它,因为没有什么可以删除cookie(除了logout.php脚本)。

2 个答案:

答案 0 :(得分:0)

我已经调试了2个小时了,像往常一样,我在写了一篇关于它的长篇文章后发现了问题...: - /

无论如何,问题是我在session_start()之前包含了一个class.db.php文件; 我想,由于某种原因,该文件输出在远程服务器上执行时不可见。也许它的编码问题?

无论如何,我只是将session_start()移到了包含该文件之上,现在一切正常......:)

答案 1 :(得分:-1)

您在从客户端登录后更改了服务器日期,因此会话已过期,只需从客户端计算机清除历史记录。