2009-04-16 26 views
1

我遇到了未定义的会话ID问题。

会话变量被称为一个页面上通过Ajax/jQuery的查询的窗体员额。

会话变量在每个其他页面上调用都没有问题。该变量在用户登录时设置,并由auth.php文件检查。 auth.php文件找到会话变量就好了,但是,insert.php文件会吐出一个错误:“Undefined index:var ....”。

是否有会话变量丢失的原因?

编辑: 我在我的auth.php文件中调用session_start。如果我尝试启动另一个会话,则会收到错误消息。

难道会话变量没有被发现,因为该文件通过Ajax请求发布到?

编辑/答案: 我发现出了什么问题。我正在使用Flash上​​传器,使用Flash进行上传时会话丢失。噢,一个晚上。

感谢您的帮助!

+0

如果你发现了什么错,你应该接受你自己的问题,作为一个答案=) – 2009-04-16 07:35:52

回答

1

我发现了什么是错的。我正在使用Flash上​​传器,使用Flash进行上传时会话丢失。

+1

大多数Flash上​​传器允许您添加与上传一起发送的其他参数。您可以使用此功能将会话ID添加到Flash上​​传POST ... – apinstein 2009-04-17 02:17:41

1

页面'insert.php'是否启动了会话?这可能是原因。

尝试启动它,如果PHP设置未设置为自动启动。

session_start(); 

我还发现打印出$ _SESSION有时会得心应手。

print_r($_SESSION); 

从我的经验,还有另一种可能,这是其他文件从不同的主机/服务器名/ IP号码,这导致没有发现会话变量调用。虽然这是相当遥远的可能性。

在你的情况,试着检查出来以防万一。

+0

当我打电话的print_r($ _ SESSION);,我只得到“阵列()”返回。 – superUntitled 2009-04-16 06:31:48

0

如果你重定向不包含insert.php你已经使用session_start();,因为会话不存在于该页面,据我所知php会话只能在一个页面上工作,没有额外的配置。