2014-01-16 163 views
0

我爲表單使用POST方法。如果我的表單已提交頁面,表單將重新加載,並且由於$_POST['submit']已設置,它將通過我的驗證處理我的表單。表單提交後重定向到頁面

如果由於某種原因輸入無效(缺少必填字段,錯誤的密碼要求等)。會話對象存儲消息,並且重定向發生到表單所在的頁面。

由於此重定向,我的$_POST值會消失。我是否應該將所有$_POST值存儲在會話對象中,還是存在跟蹤用戶提交的字段的更方便的方法?

+0

你能否在提交文章之前在前端/後端驗證? –

+2

你能否詳細說明一下? – Nijn

+0

使用像http://jquery.bassistance.de/validate/demo/這樣的框架,它不會讓表單提交沒有正確的值,然後確保在重定向之前做後端驗證? –

回答

2

您可以通過將表單提交給自己或至少在處理頁面上包含表單來避免此類陷阱。這很好,因爲

if isset($_POST['submit']) { 
    // do your validation 
    if ($valid) { 
     // show success, redirect elsewhere, etc 
    } else { 
     // include the form, using the supplied $_POST values 
     // use the validation flags you raised to display form errors 
    } 


} else { // if no $_POST values exist 
    // initialize $_POST values 
    // include the form 
} 
+0

姆姆,我正在考慮這個問題並嘗試了一下,但我在某處遇到了一些問題。這個選項比在會話中存儲值更好嗎? – Nijn

+0

Nijn你確定action屬性指向處理頁面的正確路徑嗎? – Kimutai

+0

處理頁面與列出表格的頁面相同。所以是的。 – Nijn

相關問題