什么是处理具有100多个输入字段的表单的最佳方法?

时间:2010-11-26 06:20:37

标签: php user-interface

嘿所有人。我有一个项目,需要用户输入100-500表格输入字段,然后输入数据库表。关于处理这么多领域的最佳方法,我需要一些建议。

最好让用户一次输入10进入数据库,然后问:“您想输入更多数据吗?”然后使用添加的条目更新表?

当用户连续输入10并且所有字段一次输入数据库时​​,我是否可以在会话中保存一组输入?

感谢您的回复。

3 个答案:

答案 0 :(得分:2)

我有一些用于输入数据的“向导”界面,在用户进行时将页面存储在会话中。所以是的,你的后一个想法是合理的。

答案 1 :(得分:0)

好吧,除了关于何时保存数据的问题,对于像这样的大型表单,我喜欢用匹配的隐藏输入标记加倍输入标签。例如,<input name='test' > I will also create <input type='hidden' name='test-orig' value='orig-value' />然后在服务器上我将表单输入标记与隐藏原始标记进行比较,并查看数据是否已被更改。这将使您仅对已更改的数据元素执行INSERT / UPDATE操作,而不是对每个值执行INSERT / UPDATE操作。

另外,请务必研究ON DUPLICATE KEY UPDATE语法,因为它非常有帮助。确保规范化数据库表并仅更新已更改的数据元素。

对于这种大小的表单,不是将数据存储在PHP会话中,而是将其直接保存到逻辑块中的数据库中,这将使用户在会话超时(可能发生)时不会丢失其信息如果形式很大)。然后向表结构添加挂起记录标志,以确定用户何时保存整个记录与部分保存。

答案 2 :(得分:0)

注意,php的常用加固解决方案,例如suhosin,限制了post变量的最大数量。它在共享主机中很常见,并且可能会无声地失败。

另外,请考虑对post变量使用数组语法..

例如。输入名称如下:“user []”将$ _POST变量填充为数组。