2012-03-28 42 views
0

我無法在整個文件中進行會話。無法將數據存儲到會話中

我檢查

  • 我在session_start()在每個文件

  • 使用記事本的開始,所以沒有看不見的BOM字符由IDE

  • 沒有錯誤,警告等加入

  • 會話已啓用(請參閱下面的phpinfo()輸出)

  • 沒有重寫等

所以我的文件如下

a.php只會:中b.php

session_start(); 
$_SESSION["test"] = "value"; 
header("Location: b.php"); 
exit; 

b.php

session_start(); 
echo "session: "; 
print_r($_SESSION); 

輸出:

session: Array() 

phpinfo()輸出:

enter image description here

(也session_id()是在這兩個文件相同,並且我有一個會話cookie文件。)

只有我能想到的事情是會話保存路徑可能沒有寫權限,但這是共享主機,所以我認爲情況並非如此(我將與主機porvider無論如何檢查)

我缺少什麼 這裏?

+0

你的PHP版本? – 2012-03-28 10:56:44

+0

對不起,忘了說:5.3.6 – marvin 2012-03-28 11:06:01

回答

0

在頁面b.php

使用此代碼

session_start(); 
echo $_SESSION["test"]; 

代替

session_start(); 
echo "session: "; 
print_r($_SESSION); 
+0

最新的區別是什麼? – 2012-03-28 11:00:23

+0

在該代碼中,您不打印會話變量 您的打印回聲「session:」; 可以是單詞或字符串 – 2012-03-28 11:02:48

+0

echo「session:」只是一個表達式來查看輸出,這並不重要。重要的部分是print_r($ _ SESSION),它輸出一個空數組。同樣echo $ _SESSION [「test」]也是一個空字符串 – marvin 2012-03-28 11:07:20