带有会话或数据库的多页面申请表?

时间:2016-06-14 09:25:15

标签: php mysql database session

我想用php构建一个5页的申请表,用户必须输入大约50个数据条目(姓名,年龄,其他详细信息...),如果表单完成,应该保存在主数据库中

我想知道,以下哪种方法表现更好:

A)完成页面后,将所有条目保存在一个大的$ _SESSION数组中。最后保存主数据库中$ _SESSION数组的所有条目

B)完成页面后,将所有条目保存在小型数据库中。仅在$ _SESSION数组中保存小数据库的id和用户当前在表单上的页面。最后保存$ _small数据库中的所有条目到主数据库。

我不确定在$ _SESSION数组中存储大约50个条目时是否会导致问题,特别是如果许多用户使用该表单。因此我认为 B 可能会更好。但如果没有,如果网站的性能没有差异,我不想额外努力维护一个额外的本地数据库。使用 A) B)时,是否应该注意其他缺点?

1 个答案:

答案 0 :(得分:1)

首先,没有大小数据库,只有大小数据库。每个页面都不需要单独的模式,因此在第二种方法中,您应该有多个表而不是多个数据库。

无论如何,第一种方法实际上更好,因为如果用户取消或从不跟随所有五个页面,您将在表中留下无用的信息。将条目存储在$_SESSION中的速度也更快,因为您不必在每个表单提交后查询数据库,只需查询最后一个表单。第二种方法的唯一缺点是,如果用户离开你的页面然后返回,他们将需要从头开始输入所有内容,而在第一种方法中,他们可以从他们中断的地方继续(这是你有办法告诉用户除了使用独特的ID或电子邮件之外。仍然是第一种方法是最好的。