2012-06-04 111 views
-1

我的會話變量在PHP中未保存。PHP:會話未保存

在我的登錄表單的用戶登錄和頁面重定向到exec.php:

... 
$_SESSION["username"] = $_POST["username"]; 
echo $_SESSION["username"] ==> works fine 
//header("Location: home.php"); 
... 

當我使用的報頭指令的會話建立後,返回主頁,會話變量丟失連接我得到以下信息:

未定義指數:用戶名在d:\ www.xxx線X

我在session_start()語句是我的PHP頁面上的第一個聲明。也許會話的超時設置有問題?

THX您的幫助...

+1

你有兩個頁面頂部的session_start()嗎? – hgolov

+0

不僅在login.php頁面上。是否有必要在兩頁上進行? –

+0

是的,當你只發布你認爲重要的代碼並使我們更容易理解時,它是很好的,但在這種情況下,我確信你應該從開始到發佈變量的第一次訪問在兩個文件中的$ _SESSION中。 –

回答

0

好吧,

現在先去和運行phpinfo()然後搜索session和檢查Registered save handlers如果沒有memcache寫支票session.save_path如果設置不當,將其通過編輯你的php.ini文件。

如果沒有訪問php.ini文件。只需在PHP文件中插入代碼以設置會話的保存路徑。

注意:必須設置具有寫入權限的目錄。即CHMOD 777

0

你的session_start()聲明在標題中?如果不是,那麼這可能是問題

+0

是的,它在header.php中在第1行。可能我的錯誤是由於我沒有在exec.php文件中寫入session_start()stmnt這個事實@AndriusNaruševičius –

+0

你有沒有在你的exec.php中包含你的header.php? – 2012-06-04 07:36:33