我正在尝试开发一个涉及三个独立信息的注册页面。
首页将获得联系方式
第二页 - 工作细节
第三页 - 学习细节。
如何在发布表单之前保留以前页面的表单数据?
答案 0 :(得分:7)
你可以用Ajax做 - 多个div并隐藏/显示适当的div。 或者您可以POST每个页面并将数据保存在$ _SESSION全局变量中,直到所有页面都完成。然后将其全部保存到数据库中。
答案 1 :(得分:1)
你应该看看http://jqueryui.com/demos/tabs/,它应该能够做你需要的。
答案 2 :(得分:1)
虽然其他答案肯定是好主意,但您可能还需要考虑在每个页面之间将中间数据保存到数据库中。因此,提交第一页将创建新行,其中填充了与联系人详细信息相关的列,并且状态列设置为指示提交尚未完成的值。
第二页将更新数据库中的该记录。第三页还将更新记录,以及状态标志以指示提交已完成。
这样做的主要好处是,用户可以在第一页(或第二页)之后离开,然后稍后返回,即使他关闭了浏览器并且他的会话已经过期。 (只要他有一个唯一的URL返回)。
如果你只收集三页数据,这种方法可能没什么好处,但如果你有很多页面,那么以后离开和返回的能力可能更重要。
答案 3 :(得分:0)
在当天,我会在每个后续页面中为所有以前的页面添加隐藏字段,因此最终提交将包含所有内容...即
现在,我可能只有一个实际的页面..通过显示/隐藏div并以一个大的形式收集所有数据实现多个步骤,为用户直观地分解......如果我特别感觉通过ajax进行频繁验证和最终提交的活泼。
答案 4 :(得分:0)
在转移到另一个页面时,您只需将第一页变量的值放在会话中,然后您可以在任何页面上访问上一页的值,然后将该值发布到数据库查询中。这样,您可以使用第三页第一页的值,直到浏览器打开时。当浏览器关闭时,变量就会丢失它们的值。