我对PHP中的Post Redirect Get模式有一个结构性问题,我正在构建一个表单流程。基本上,我首先有一个PHP表单,用户填写字段。
然后按下提交后,表单会自行发布,服务器端验证会在如此提交的情况下进行测试:
if(isset($_POST['submitted'])){
// Firstname
if(!empty($_POST['firstname'])){
$firstName = filter_var(trim($_POST['firstname']), FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES);
} else {
$errors[] = "Please enter your first name";
}
}
如果所有这些测试都通过了表单,那么我会执行PRG模式并重定向到这样的中间形式:
if(empty($errors)){//proceed to process
//Dump your POST variables
$_SESSION['POST'] = $_POST;
// Redirect to Verification page
header('Location: quote_verify.php', true, 303);
}
到目前为止一切顺利。问题在于中介形式。我看到的每个PRG模式示例基本上都是重定向到“成功”页面,这很简单。我想要做的是在用户提交表单后没有错误...然后页面发生变化,用户输入的所有数据都会显示出来,并显示几个按钮,“编辑”和“提交”引用“所以基本上我需要一个中间页面,显示用户输入主要表单的内容,然后如果他们想按下按钮编辑表单,它将重新加载原始表单并在表单字段中保留信息,这样它就不会不需要再次输入....如果他们按下SUBMIT QUOTE,它基本上生成然后使用PHP SwiftMailer构建并通过电子邮件发送对象并通过电子邮件发送表单并构建一封感谢邮件。
令人费解的是如何以单页PRG模式PHP形式或我到目前为止的3页模式构建它。谢谢溢出!