【问题标题】:Multi page form validation with php使用 php 进行多页表单验证
【发布时间】:2009-08-06 21:20:48
【问题描述】:

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

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

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

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

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

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

谢谢

彼得

【问题讨论】:

    标签: php validation forms multipage


    【解决方案1】:

    您不必发布到下一页。

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

    【讨论】:

    • 感谢您,经过反思,这是最好的方法!干杯。
    【解决方案2】:

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

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

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

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-04-01
          • 2010-12-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多