Web系统开发中表单数据批量处理方法设计与实现.docxVIP

  • 37
  • 0
  • 约1.91千字
  • 约 4页
  • 2021-04-12 发布于天津
  • 举报

Web系统开发中表单数据批量处理方法设计与实现.docx

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 数据,均可以采用 相同方法进行处理。

文档评论(0)

1亿VIP精品文档

相关文档