【问题标题】:3 step POST form. Use sessions, hidden fields or...?3 步 POST 表单。使用会话、隐藏字段或...?
【发布时间】:2013-03-09 06:09:15
【问题描述】:

我正在整理一个 4 步注册表单,最后会将用户重定向到 Paypal 并将整个表单内容输入数据库。

目前我的流程如下:

第 1 页 - 输入详细信息 点击提交(POST)

第 2 页 - 查看第 1 页详细信息 第 2 页 - 将详细信息放入 $_SESSION 第 2 页 - 输入更多详细信息 点击提交(POST)

第 3 页 - 检查第 2 页的详细信息 第 3 页 - 将详细信息放入 $_SESSION 第 3 页 - 输入更多详细信息 点击提交(POST)

第 4 页 - 查看第 3 页的详细信息 第 4 页 - 处理所有数据并放入数据库 第 4 页 - 重定向到 Paypal 第 4 页 - 在 db 中将标志设置为活动之前监听成功 完成

我的问题是,我这样做是否正确?虽然它工作得很好,但我不得不使用 jquery hacks 来使用户能够在任何阶段“返回”以对表单进行更改。

我正在考虑使用隐藏字段而不是 SESSIONS,这样每个步骤都会重新提交所有数据,如果用户想要返回一个步骤,我可以将所有数据返回到前一页。我认为用户可能会更有可能以这种方式丢失数据?

【问题讨论】:

  • 我更喜欢 Session 而不是隐藏字段,因为它更安全、更干净
  • 只是一个颠簸。你找到什么好的解决办法了吗?我正在考虑可能做一个功能,自动回显所有以前的帖子字段隐藏在表单中,以便在添加更多字段时更容易管理(也可以为会话内容制作),因为我有一个“可选步骤" 这是一个登录屏幕,如果未登录它可以使用相同的 POST 处理天气或未登录。

标签: php forms session post


【解决方案1】:

隐藏字段的概念会让事情变得难以管理......如果字段的数量更多。

在您的情况下最好使用会话而不是隐藏字段。

【讨论】:

    【解决方案2】:

    这取决于:您是否需要在每个步骤之后进行 POST?如果没有,您也可以将所有步骤放在页面中,每个步骤都放在一个字段集中,并在 javascript 中一次仅显示 1 个字段集(正如您所说的 jQuery)。这样只有最后一步的提交按钮会提交整个表单

    另一方面,如果你需要在每一步之后都有一个帖子,我会选择会话的方式,这样更安全

    【讨论】:

    • 我认为我对 jquery 的有限知识阻止了我将表单全部放在一页上。主要原因是第 2 页显示了第 1 页的格式化预览以及我为格式化数据而编写的许多函数,我不知道如何在 JQuery 中编码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-29
    • 2012-06-28
    • 1970-01-01
    • 2012-05-27
    • 2021-12-20
    • 1970-01-01
    相关资源
    最近更新 更多