通过PHP跟踪多页表单验证中的数据

通过PHP跟踪多页表单验证中的数据,php,forms,session,browser,Php,Forms,Session,Browser,我正在从事一个PHP项目,客户希望提交多页表单数据。例如,以下是表格中的流程: 创建新实体 确定实体类型 填写实体特定字段 在每个页面上,表单都会发布到当前页面。验证在服务器端执行,如果验证成功,用户将重定向到下一步 我已经确定,为了跟踪用户的进度,应该使用会话数据。但是,我担心的是,如果用户打开两个选项卡并并行地浏览表单,我如何跟踪每个选项卡中正在处理的实体?这是一个甚至可以处理的场景吗?这是一个页面流问题。不要使用会话来处理它。您认为选项卡或新窗口会给您带来麻烦是正确的 我真的不明白这一点:

我正在从事一个PHP项目,客户希望提交多页表单数据。例如,以下是表格中的流程:

  • 创建新实体
  • 确定实体类型
  • 填写实体特定字段
  • 在每个页面上,表单都会发布到当前页面。验证在服务器端执行,如果验证成功,用户将重定向到下一步


    我已经确定,为了跟踪用户的进度,应该使用会话数据。但是,我担心的是,如果用户打开两个选项卡并并行地浏览表单,我如何跟踪每个选项卡中正在处理的实体?这是一个甚至可以处理的场景吗?

    这是一个页面流问题。不要使用会话来处理它。您认为选项卡或新窗口会给您带来麻烦是正确的

    我真的不明白这一点:

    在每个页面上,表单都会发布到当前页面。验证是 在服务器端执行,如果验证成功,则用户 已重定向到下一步


    听起来像是“回帖”,但为什么?将页面中的数据发布到执行必要ss验证的控制器(或脚本)。验证后,根据需要处理数据,并确定下一步应包含哪些内容。然后在响应中发送下一步的输入表单。重复此步骤直到完成。

    有两种不同的方法

  • 如果一个用户允许一次填写两个表单,只需为每个表单添加一个唯一标识符,并在会话中跟踪它们

  • 如果没有,事情就变得简单了:只需跟踪已通过的步骤,并在以前提交的已通过步骤的情况下显示警告


  • 也许我可以提供一个更“准确”的答案,提供更多关于这个问题的信息……但是我知道使用会话来管理页面流/表单数据是不好的。表单不是回发。表单的控制器与视图位于同一页上。这样,如果存在表单问题,可以向用户显示错误。奥托,你的回答真的没那么有用。验证后发送输入表单?你的意思是什么?无法通过重定向发送POST数据。这种否决票仍然让我恼火。一个向自己发布的页面就是“回发”的定义,我相信这是M$的说法。对不起,冒犯了敏感的人。它还表明了一个设计糟糕的站点,没有解决问题的分离(大约是Y2K技术)。请参见MVC模式。此外,通过使用会话,您可以使用服务器资源来管理页面流问题。这是解决设计挑战的懒惰方式。