使用php进行多页面表单验证

时间:2009-08-06 21:20:49

标签: php validation forms multipage

这是我的第一篇文章,所以要善良; )

我想用php创建一个多页面表单。

表单将分布在3页上,每个页面都需要验证在客户端上输入表单的数据(使用jquery验证),如果禁用了javascript,则在服务器上需要显示错误消息相关的表格字段。

验证后,需要将数据传递到表单中的下一页,最好使用会话变量。

我遇到的主要问题是大多数验证脚本现在将action =“”留作自我引用当前页面,因此这些后置变量无法传递到表单链中的不同页面。 / p>

我想要一个验证脚本,然后点击提交按钮发布到新页面。

由于

彼得

4 个答案:

答案 0 :(得分:6)

您不必发布到下一页。

您可以验证当前页面上的表单字段,将它们存储在会话中,然后使用header("location: nextPage.php"); exit(0);重定向转到下一页。

答案 1 :(得分:0)

通常,您可以执行类似

的操作
<form onsubmit="return validateForm();" method="post" action="/wherever">

如果验证表单返回false,这将调用您的javascript验证表单,而不是提交表单。

您还需要进行服务器端验证,我建议您将以前的表单验证结果存储到会话中,而不是重新发布它们(因为这些都不必每次都重新验证!)< / p>

答案 2 :(得分:0)

您应该使用帖子重定向模式。将变量发布到下一页(控制页面),如果验证通过则该页面执行

header("Location: /page2.php");
将已发布的变量保存到会话后

。如果服务器端验证失败,那么您将对page1.php执行带有错误的标头。这样你可以使用你的后退按钮。

答案 3 :(得分:-1)

我推荐this JS验证器。它非常易于使用,完全不依赖于action=""参数,因此您仍然可以将其设置为您想要的任何值。