2009-04-16 29 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會話只能在一個頁面上工作,沒有額外的配置。