2013-03-20 61 views
1

我正在做一个4步的注册表单,最后会将用户重定向到PayPal并将整个表单内容输入到数据库中。3步POST表单。使用会话,隐藏字段或...?

目前我有以下流程:

页1 - 输入详细 点击Submit(POST)

页2 - 检查第1页详细 第2页 - 把细节到$ _SESSION 第2页 - 输入更多的细节 点击提交(POST)

页3 - 检查第2个细节 第3页 - 把细节到$ _SESSION 第3页 - 输入更多详情 点击提交(POST)

页4 - 检查第3个细节 页4 - 所有的数据并投入DB 页4 - 重定向到贝宝 页4 - 以dB为单位设定标记为活动之前,听到成功 DONE

我的问题是,我正在以正确的方式进行?虽然它工作正常,但我不得不使用jquery hack来让用户在任何阶段返回以更改表单。

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

+0

我喜欢会话比隐藏的领域,因为它更安全和干净 – 2013-03-20 08:32:58

+0

只是一个凹凸。你有没有找到好的解决方案?我正在考虑可能会做一个函数,将所有先前的后置字段自动隐藏在表单中,以便在添加更多字段时更容易管理(可以为会话创建),因为我有一个“可选步骤“这是一个登录屏幕,如果没有登录它可以使用相同的处理后的天气或没有登录。 – 2013-05-18 21:50:21

回答

2

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

它更好地使用会话在你的情况,而不是隐藏的领域。

0

这取决于:每个步骤之后您是否需要执行POST?如果没有,你可以在页面中放置所有步骤,每个步骤都在一个字段集中,并且每次只显示一个字段(在javascript中)(正如你谈论的jQuery)。这种方式仅提交的最后一步按钮,将提交整个表单

在另一方面,如果你需要在每个步骤后的帖子,我会选择会议的做法,这是更安全的

+0

我认为我对jquery的有限知识阻止了我将表单全部放在一个页面上。主要原因是第2页显示了页面1的格式化预览,以及我编写的用于格式化数据的许多函数,我不知道如何在JQuery中编写代码。 – James 2013-03-20 08:55:39

相关问题