2013-05-01 84 views
0

我想讓用戶重定向到index.html頁面,以防$ _SESSION ['loggedin']已設置。出於某種原因,它不會重定向用戶,雖然$ _SESSION ['loggedin']在回顯時會返回一個值。PHP - 會話不會導致重定向與標題

if(!empty($_SESSION['loggedin'])) { header('Location: index.html');}; 

我在做什麼錯在這裏?

+0

您是否收到警告錯誤?如果在任何內容打印到屏幕後試圖重定向標頭,它將會失敗。 – 2013-05-01 23:02:57

+0

確定'session_start()'沒有丟失,$ _SESSION ['loggedin']'有一個值,當用[empty()](http://de3.php.net /manual/en/function.empty.php)? – kero 2013-05-01 23:03:32

+0

session_start()在任何HTML之前都在頁面的頂部。原始帖子中的代碼行正好在session_start()之下。當我回顯$ _SESSION ['loggedin']時,它返回一個在腳本中設置的值。 – 2013-05-01 23:10:24

回答

2

header('Location: index.html');設置在發送任何內容之前需要設置的http報頭,即在任何回聲之前。您也應該在設置位置標題後終止腳本。

+0

我加了exit;標題重定向後,它的工作。我猜想腳本繼續運行,並導致一些其他重定向觸發哪些低於該代碼。謝謝! – 2013-05-01 23:18:47