会话工作在本地主机上很好,但不是在web主机服务器上


Session works fine on localhost, but not on webhost server

我已经写了一个登录脚本,在我的测试服务器(localhost)上工作得很好,但是当我把它上传到我的web主机的web服务器时,它不工作。

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

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

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

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

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

有没有人知道是什么导致了这样的事情? web主机服务器不支持cookie/会话 -我做了一个非常简单的测试,它的工作,所以我想一定有我的代码的东西…:(但我真的不明白,因为没有什么会删除cookie(除了logout.php脚本)。

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

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

无论如何,我只是移动了session_start()上面包含的文件,现在一切都很好…:)

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