4

这是我的第一篇文章,请善待;)

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

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

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

我遇到的主要问题是大多数验证脚本现在将 action="" 保留为自指当前页面,因此无法将 post 变量传递到表单链中的不同页面。

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

谢谢

彼得

4

4 回答 4

6

您不必张贴到下一页。

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

于 2009-08-06T21:24:15.170 回答
0

一般来说,你可以做类似的事情

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

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

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

于 2009-08-06T21:24:48.993 回答
0

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

header("Location: /page2.php");

将发布的变量保存到会话后。如果服务器端验证失败,那么您对 ​​page1.php 进行标头并显示错误。p这样您就可以使用后退按钮。

于 2009-08-06T21:25:41.267 回答
-1

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

于 2009-08-06T21:24:38.760 回答