Php 预填充多阶段表单

Php 预填充多阶段表单,php,forms,Php,Forms,我有一个表格,分为4个单独的屏幕,因此用户将看到屏幕1,他们填写字段并单击继续,然后出现屏幕2,他们填写这些字段并单击继续,等等 当他们填写整个表单时,他们输入的详细信息将写入MySQL数据库 他们可以随时查看表格并更改详细信息……这就是我有一个问题的地方 当他们导航到屏幕1时,我从数据库中读取他们以前的详细信息,并用这些值预先填充表单 到目前为止,一切顺利 当他们单击Continue时,表单被提交,我们加载屏幕2。此时,我必须再次读取数据库,以获取之前在屏幕2上输入的值 我应该在这里提到,我使

我有一个表格,分为4个单独的屏幕,因此用户将看到屏幕1,他们填写字段并单击继续,然后出现屏幕2,他们填写这些字段并单击继续,等等

当他们填写整个表单时,他们输入的详细信息将写入MySQL数据库

他们可以随时查看表格并更改详细信息……这就是我有一个问题的地方

当他们导航到屏幕1时,我从数据库中读取他们以前的详细信息,并用这些值预先填充表单

到目前为止,一切顺利

当他们单击Continue时,表单被提交,我们加载屏幕2。此时,我必须再次读取数据库,以获取之前在屏幕2上输入的值

我应该在这里提到,我使用的是MVC模式,因此每个屏幕都是一个单独的请求。 我真的很喜欢能够将每个屏幕分割成一个单独的请求,因为这样可以保持HTML和控制器逻辑的整洁,但我开始怀疑这是否是创建多阶段表单的最佳方式

在每个屏幕上检索数据的最佳方式是什么?我能想到的唯一一件事是读取屏幕1上的数据,然后将其存储在会话变量中,但这样做会带来很多好处吗


我是否应该为不得不不断重读相同的数据而烦恼?这不会是一个巨大的性能问题,但是不断地重新读取相同的数据感觉是不对的。

正如我所想,答案是读取屏幕1上的数据库,并将屏幕2、3和4字段作为隐藏字段写入屏幕1

这样,当绘制屏幕2时,我检查$\u POST中是否有任何值


屏幕3和4也是如此。

在仔细考虑之后,我认为答案将是读取屏幕1上的数据库,然后将屏幕2、3和4的所有字段绘制为屏幕1上的隐藏字段。其他人应该希望自己照顾好自己。不管这是不是一个好的解决方案,我稍后会在这里发帖。