if(isset($_POST))
{
if(verify_post_data() == 'success')
{
if(do_something_with_verified_post_data() == 'success')
{
//do something else
header('location: success.php');
}
}
header('location: failure.php');
}
我想處理一個用戶已張貼在多個步驟中的數據(第一個驗證,如果一切都正確,然後對數據進行處理的東西) 。頭('位置:...)犯規行爲的權利結合if語句
如果後期數據的驗證,並做有什麼事情已經成功了,我想將用戶重定向到success.php
如果驗證失敗,或者做一些與數據失敗,我想重定向失敗。
這裏發生的事情:
當我刪除頁眉(...)函數進行評論,而是我說
//header('location: success.php');
echo 'success!';
和
//header('location: failure.php');
echo 'failure!';
我的腳本將打印「成功!失敗!」如果我的數據是正確的,並且在處理數據時沒有發生錯誤。非常有意義......因爲成功的迴應並未中斷腳本,故障仍會顯示。
所以當我取消成功頭(失敗頭撐評論),它確實給我以success.php
如果我隨後也取消對失敗的頭,現在它將 - 即使在成功 - 給我到failure.php。
這怎麼可能?
我希望頭函數能夠中斷腳本並忽略它後面的任何代碼。我的假設錯了嗎?我必須以某種方式手動退出腳本?
不是php按行處理代碼?或者它是否首先在花括號裏標題和其他標題,或者什麼?
或者應該不會發生這種情況,我必須在其他地方發生錯誤?
把一個'退出;'頭()後';' – tttony 2013-03-09 04:50:25
請確保您有在同一文件夾 – sandip 2013-03-09 04:54:53
問題是不是所有的樹中的文件,該頭功能沒有按'不做任何事情,因爲我在調用頭之前有輸出,也沒有被重定向到404。從我有兩個頭選項我被稱爲錯誤的... – olli 2013-03-09 05:00:40