带有表单验证的表单提交预览 (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
这听起来像是一个愚蠢的问题,所以我先道歉。
我有一个 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