带有表单验证的表单提交预览 (PHP)

Form submission preview with form validation (PHP)

这听起来像是一个愚蠢的问题,所以我先道歉。

我有一个 PHP 表单,其操作发布到自身,因此我可以进行一些验证以确保选中文本框、几个复选框和几个单选按钮。在我确认没有表单错误后,我需要让用户预览他们输入的内容,然后再让他们将信息提交到数据库。

为了预览表单提交的详细信息,逻辑上 page1.php 会 <form action="page2.php"> 而 page2.php 会允许用户预览他们提交的内容。

但是对于表单验证,从逻辑上讲,表单应该提交给自己,以便它可以验证在同一页面上输入的所有必填字段。

那么,有没有一种方法可以在表单通过提交给自身验证后将用户引导至 "next page",以便他们可以预览信息?


注意: 我正在重写一个经典的 ASP 形式,它是这样做的:

if errorMsg = "" then
  response.redirect "verify.asp"
else
  session("errorMsg") = errorMsg
  response.redirect "default.asp"
end if

我假设在 PHP 的情况下,类似条件的 "else" 部分是不必要的,因为它已经发布到自己,只有当错误消息数组为空时才应该重定向到验证页面。

您可以使用 header 执行重定向:

if(empty($errorMsg)) {
  header("Location: verify.php");
  exit;
}

使用 Mark Heintz 的回答和一些谷歌搜索,我发现最好的方法是结合使用 Javascript 和元标记。元标记将说明何时禁用 javascript。

  • Redirect in PHP without use of header method

  • Redirecting to a relative URL in JavaScript

  • 还有一个AJAX的方法:Modify the URL without reloading the page