2013-07-23 58 views
1

我的代碼如下所示:會話不工作後重定向

... 
$_SESSION['message']="something"; 
header('location:http://url/somewhere'); 
exit; 

正如你所看到的,我在它的結束退出。這就是問題所在。儘管我在那裏有一個出口,但它並沒有工作。

我只在我的本地主機上有這個問題。在在線服務器上運行良好。在錯誤日誌中,它只顯示「未定義的索引消息」。幾天前我安裝了新的Apache 2.4和PHP 5.4。

回答

3

不要忘了啓動會話的每個頁面上,你要使用它:

if(!isset($_SESSION)){ 
    session_start(); 
} 
0

請一定要加「在session_start();」到處理任何類型的會話數據的每個頁面的開始。另一件要檢查的事情是確保你正確設置會話變量。另外,使用標題重定向時,請確保文檔的開頭沒有空白。

+0

不,這不是我的問題,並沒有解決我的問題。我沒有忘記在header()之前寫入session_start()或發送一個空白區域。 –

+0

然後我建議你提供更多的信息,因爲你告訴我們的東西並沒有給我們提供你的問題的線索。 –

+0

此問題通常是由缺少exit()或die()命令引起的。但是我可以看到它。在在線服務器上工作。只有在我的本地主機 - PHP 5.4 Apache 2.4 Win XP SP3它丟失會話變量。 Apache日誌只寫 - 任何$ _SESSION ['vars']的「未定義索引」。 –