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

发布于 2024-07-30 13:52:22 字数 344 浏览 13 评论 0原文

这是我的第一篇文章,所以请友善; )

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

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

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

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

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

谢谢

彼得

This is my first post, so be kind ; )

I'm wanting to create a multi page form with php.

The form will spread over 3 pages, each page will need to validate on the data entered into the form on the client (using jquery validation) and if javascript is disabled, on the server, where error messages need to be displayed beside the related form field.

Upon validation, the data needs to be passed to the next page in the form, preferable using session variables.

The main problem I'm having is that most validation scripts now leave the action="" as being self referring to the current page, and as such post variables cannot be passed onto a different page in the chain of forms.

I want to have a validation script that will validate, and then post to a new page upon clicking the submit button.

Thanks

Peter

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

风吹过旳痕迹 2024-08-06 13:52:23

您不必张贴到下一页。

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

You don't have to post to the next page.

You can validate the form fields on the current page, store them in a session, then use a header("location: nextPage.php"); exit(0); redirect to go to the next page.

把时间冻结 2024-08-06 13:52:23

通常,您可以执行类似的操作

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

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

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

generally, you can do something like

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

And this will call your javascript validation form, not submitting the form if the validation form returns false.

You will also need to do server side validation, and I suggest that you store the previous forms validated results into the session, rather than re-posting them (as these wont have to then be re-validated each time!)

烟雨扶苏 2024-08-06 13:52:23

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

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

在将发布的变量保存到会话后执行 a。 如果服务器端验证失败,那么您将在 page1.php 中添加一个包含错误的标头。 p这样您就可以使用后退按钮。

You should use the post redirect pattern. Post the variables to the next page (control page), If validations pass then that page does a

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

after saving the posted variables to the session. If the server side validation fails, then you do a header to the page1.php with the error. pThis way you can use your back button.

听风吹 2024-08-06 13:52:23

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

I reccommend this JS validator. Very easy to use and doesn't depend on the action="" parameter at all, so you can still set it to whatever you want.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文