2012-12-02 46 views
2

可能重複:
php - Should I call exit() after calling Location: header?退出()和不在頭部函數之間有什麼區別?

我不知道如何標題這個問題,但在這裏不言而喻。

就是下面的兩個代碼段之間的區別:

SCRIPT1 - 無exit()

if($var = true){ 
header('Location: anotherpage.php'); 
} 

SCRIPT2 - 與exit()

if($var = true){ 
header('Location: anotherpage.php'); 
exit(); 
} 

從我個人理解,header()退出當前頁面,並跳轉到另一頁,如果條件爲真,因此具有exit()之後header()毫無意義 - 我說得對嗎?

+0

總是用出口 – 2012-12-02 07:14:56

+0

@Dagon你介意解釋更加爲什麼呢?謝謝 – anagnam

+0

看到我貼的愚蠢 – 2012-12-02 07:16:42

回答

3

header()功能只是將頭到瀏覽器與你的頁面的其餘部分,它告訴瀏覽器重定向到一起。如果你不希望腳本繼續運行,然後你應該做你想要的腳本繼續運行 雖然也取決於劇本的exit()

可能有情況。您可能會跟蹤 頁面點擊或其他內容,您可能會將代碼插入到每頁底部包含的 數據庫中。如果你想讓它跟蹤 之前的重定向,那麼你不會想早點擊exit

在大多數情況下,你想exit因爲你不容易要輸出什麼在這種情況下,瀏覽器和額外的代碼將只是你的重定向放緩。

0

號我假設if ($var = true)應該已經閱讀if ($var == true)甚至只是if ($var)

header功能將數據添加到HTTP標頭。如果在上面的if聲明後沒有任何內容,則兩者都是相同的。但是,如果在代碼執行後的if聲明之後有代碼 - 這是您不希望發生的事情。

相關問題