- 37
- 0
- 约1.91千字
- 约 4页
- 2021-04-12 发布于天津
- 举报
Web 系统开发中表单数据批量处理方法设计与实现
摘要:在 Web 系统开发过程中, 表单数据处理操作
分频繁。在一般处理模式下,各种表单数据需要逐个接收和 处理(主要指数据库处理) ,带来大量代码冗余。并且在表 单项数量很大的情况下,人工编写代码极易出错,极大降低 代码编写和调试效率。 该文以 PHP 语言为例, 提出了一种对 能够表单数据进行高效的批量接收和处理方法,并给出了具 体实现代码,在实践中产生了良好效果。
关键词: Web 系统;表单数据;自动处理; PHP
中图分类号:
中图分类
号: TP311
文献标识码: A
文章编号: 1009-3044 (2017) 10-0204-01
问题分析
在 Web 系统开发中,不论使用何种 Web 编程语言,往
往都涉及大量的数据添加、修改操作,都需要使用表单
(Form)机制来实现。在复杂的 Web系统中,表单操作
分频繁,以笔者曾参与的某个地市级小型业务系统为例,整 个项目中有超过 100 个不同的表单需要处理,每个表单包含
20-30 个不等的表单项。按照 PHP 语言中正常的表单数据处 理方式,需要对表单数据进行逐个手工接收和处理( PHP 中
可以通过配置参数使得提交的表单自动注册为服务器变量, 不需要进行手工接收,但这种方式因存在巨大安全隐患已经 在 PHP4 之后被默认禁用, 因此本文不考虑这种情况) 。例如, 有表单 A ,拥有数据项 A1-A10 共 10 项,那么需要有以下
HTML 表单代码:
以上例子中,为表示方便,表单项和变量名称具有顺序
性和规律性,完全可以用循环的方式简化处理代码,但在实 际应用中, 为了使变量名望文知义, 往往不使用类似 A1-A10
这样毫无意义的命名方式, 而是用类似 username、password、 content 之类的具有明确含义的名称。 显而易见,在这种处理 方式下,存在以下 3 个方面的问题:
1)代码冗余。由于大量的表单项需要接收、处理,以
及构造 SQL 语句, 需要编写大量重复性代码, 在某些业务逻 辑较为简单的程序中,表单处理代码量甚至超过了业务逻辑 代码量,带来大量代码冗余,增加了编程工作量。
2)书写错误。当表单项数量很大时,在接收、处理数
据时需要多次书写变量名、数据库字段名等,稍有不慎就会 拼写出错,而且这类错误属于语义错误而非语法错误,代码 编辑器和人工检查均不易发现,给系统开发、调试带来了很 大困扰。
3)可扩展性差。代码耦合度高,程序开发完毕后,如
果再增加或者减少表单项,需要对代码进行多处修改,不利
于程序的可扩展性。
解决思路与方法
首先,对 HTML 表单项名称进行处理, 使其既保留 “望
文知义”的特点,又能便于批量接收和处理。同时,一个表 单中不是所有表单项的数据都需要处理,在表单项名称设计 中应当予以区分, 使得 PHP 处理程序只处理需要的数据。 其 次,在 PHP 接收表单数据时, 采用遍历 $-POST 数组的方式, 根据命名规则取出需要处理的数据,并建立对应的变量名, 存人数据。 最后, 在进行 SQL 语句构建时, 使用与变量名称 相一致的字段名称, 根据需要动态构建 Insert 或 Update 语句, 使用自定义函数的方式进行调用。具体实现过程如下:
1) HTML 表单项的处理 为实现数据自动化处理,首先在表单中将每个需要写入
数据库的表单项名称统一为一种格式。例如,用“ V- ”作为 需要处理的表单名称的前缀,不需要处理的表单不加前缀。
如:
2) PHP?稻萁邮沾?理
在数据库操作中,无论是是 Insert还是Up date,都需要
首先确定要操作的字段名称列表。根据表单命名规律,可以 编写自定义函数 getFeildFromPost ,将所有 v 一开头的表单从整个$_POST数组表单项集合中分离出来,函数核心代码如
结语
本文提出的对表单数据进行批量处理的方法,对于Web
本文提出的对表单数据进行批量处理的方法,对于
Web
系统开发中的海量表单处理具有很强的现实意义,可以产生
三个方面的效益:是极大降低代码书写量, 提高编码效率,
三个方面的效益:
是极大降低代码书写量, 提高编码效率,
可将表单处理代码从几十到几百行简化为 2 行;二是大大提 高了代码的可维护性, 后期扩展表单项时 PHP 代码不需要做 任何修改; 三是具有很好普适性, 不论使用何种 Web 编程语 言,不论是 $_POST 表单数据还是 $_GET 数据,均可以采用 相同方法进行处理。
您可能关注的文档
最近下载
- 明代宗教信仰与思想控制.docx VIP
- 江苏省南通市2024-2025学年高二上学期期末学业质量监测语文试卷(含答案).pdf VIP
- 国就有成人演出的电影了?想看就要冒生命危险.pdf VIP
- 综合素质练习题及答案.doc VIP
- 2020-2021学年北京高三化学二轮复习 反应原理型简答题(突破二卷)(word版 含答案).docx VIP
- 电力拖动控制线路安装与检修(白银矿冶职业技术学院)知到智慧树答案.docx VIP
- 煤炭巷道掘砌工(高级工)资格考试题库(全真题库).docx VIP
- 影像叙事中情感共鸣生成机制.docx VIP
- 同轴二级圆柱齿轮减速器的设计(硬齿面).doc VIP
- 基于GPU多线程多通道图像高速重构方法、设备及介质.pdf VIP
原创力文档

文档评论(0)