我正在为我的表单使用POST方法。如果我的表单已提交页面,表单将重新加载,并且因为设置了$_POST['submit']
,它将通过我的验证处理我的表单。
如果由于某种原因输入无效(缺少必填字段,错误的密码要求等)。会话对象存储消息,重定向发生在表单所在的页面上。
由于此重定向,我的$_POST
值消失了。我应该将所有$_POST
值存储在会话对象中,还是有更方便的方法来跟踪用户提交的字段?
答案 0 :(得分: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
}