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

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:tzhblyh
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:在Web系统开发过程中,表单数据处理操作十分频繁。在一般处理模式下,各种表单数据需要逐个接收和处理(主要指数据库处理),带来大量代码冗余。并且在表单项数量很大的情况下,人工编写代码极易出错,极大降低代码编写和调试效率。该文以PHP语言为例,提出了一种对能够表单数据进行高效的批量接收和处理方法,并给出了具体实现代码,在实践中产生了良好效果。
  关键词:Web系统;表单数据;自动处理;PHP
  中图分类号:TP311
  文献标识码:A
  文章编号:1009-3044(2017)10-0204-01
  1.问题分析
  在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)可扩展性差。代码耦合度高,程序开发完毕后,如果再增加或者减少表单项,需要对代码进行多处修改,不利于程序的可扩展性。
  2.解决思路与方法
  首先,对HTML表单项名称进行处理,使其既保留“望文知义”的特点,又能便于批量接收和处理。同时,一个表单中不是所有表单项的数据都需要处理,在表单项名称设计中应当予以区分,使得PHP处理程序只处理需要的数据。其次,在PHP接收表单数据时,采用遍历$-POST数组的方式,根据命名规则取出需要处理的数据,并建立对应的变量名,存人数据。最后,在进行SQL语句构建时,使用与变量名称相一致的字段名称,根据需要动态构建Insert或Update语句,使用自定义函数的方式进行调用。具体实现过程如下:
  1)HTML表单项的处理
  为实现数据自动化处理,首先在表单中将每个需要写入数据库的表单项名称统一为一种格式。例如,用“v-”作为需要处理的表单名称的前缀,不需要处理的表单不加前缀。如:
  
  
  2)PHP數据接收处理
  在数据库操作中,无论是是Insert还是Update,都需要首先确定要操作的字段名称列表。根据表单命名规律,可以编写自定义函数getFeildFromPost,将所有v一开头的表单从整个$_POST数组表单项集合中分离出来,函数核心代码如下。
  3.结语
  本文提出的对表单数据进行批量处理的方法,对于Web系统开发中的海量表单处理具有很强的现实意义,可以产生三个方面的效益:一是极大降低代码书写量,提高编码效率,可将表单处理代码从几十到几百行简化为2行;二是大大提高了代码的可维护性,后期扩展表单项时PHP代码不需要做任何修改;三是具有很好普适性,不论使用何种Web编程语言,不论是$_POST表单数据还是$_GET数据,均可以采用相同方法进行处理。
其他文献
摘要:该文以《网络互联技术》课程为例对信息化教学设计中采用的信息化资源和组织形式进行了阐述,并提出了在信息化教学过程中,最重要的不是使用信息化,而是使用信息化解决实际问题。该文为高职计算机类专业课程的信息化教学实践提供了可参考的案例。  关键词:信息化教学;教学设计;高职;网络互联技术  信息化教学推进了课程改革的步伐,将传统教学中的课堂,扩展为课前探索、课堂实践和课后拓展三个环节,各环节紧密相扣
摘要:针对云计算专业,培养适合社会需求的技能型人才。该文提出构建“3平台 3模块”的云计算课程体系方案,以及在课程体系中构建“4层4训”实践教学体系,并提出提高学生可持续发展能力的对策课程体系和保障体系的问题,进行了相关研究和探索。  关键词:云计算;3平台 3模块;4层4训;可持续发展  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)13-0132-01  近年
摘要:目前中小企业加快了信息化建设,但由于网络安全意识薄弱、网络安全管理资金投入不足,很容易被攻击者入侵窃取资料,导致公司服务器出现故障。该文通过走访太仓中小企业了解目前企业网络安全方面存在的问题和风险,通过需求分析给出网络信息安全策略如防火墙、VPN等,帮助企业尽可能避免网络攻击造成的损失。  关键词:中小企业;信息安全;防火墙;VPN  中图分类号:TP393 文献标识码:A 文章编号:100
移动Ad hoe网络是在无线终端发展的基础上产生的一种无中心、自組织的网络。该网络不需要任何基础设施,各个节点可以在拓扑内动态变化且任意分布,并通过无线方式互连,网络中的每个节点具有主机和路由器的双重身份。在军事通信、抢险救灾、临时会议等领域有着广泛的应用前景。
摘要:现在JavaWeb课程广泛采用项目驱动式教学,项目驱动式教学跟传统教学相比,优势是可以强化技能训练,提高学生动手能力和学习兴趣。缺点是弱化了理论知识和基本知识点语法之后,学生基础不够牢固,虽然能按照书本开发,却未必真正理解,很难举一反三。该文列举了Java web传统教学和项目式教学的优缺点,讨论了教学实施方法和改进措施。  关键词:Java web课程;项目驱动式教学  中图分类号:G64
摘要:构建现代职业教育体系要解决的期中一个问题就是中高职的课程衔接,该文根据计算机专业课程教学实践以及大量的调查数据,对中高职课程设置以及教学衔接的相关问题进行分析研究,同时针对目前存在的问题提出了解决方案。  关键词:计算机专业;中职;高职;课程衔接  中图分类号:G642 文献标识码:A 文章编号:1009-3044(2017)08-0155-02  1中高职衔接模式的发展现状和内涵  大力发
摘要:随着信息技术的发展和办公管理的信息化, 校园网上各类系统平台快速应用,更随着校园网有线与无线的一体化,接入校园网的用户和设备更加多样,也更容易遭受各类攻击和病毒的入侵,这对校园网防范信息的泄露和保障信息安全提出了更高要求。该项目主要针对校园网,网络安全体系设计的原则和校园网络安全建设的措施,以期有效保障校园网络用户的利益,促进校园网的健康发展。  关键词:网络;安全策略;校园网  中图分类号
摘要:网络的蓬勃发展给泛在学习提供了有力的保障,借助当下高职院校学生常用的智能手机和平板电脑,构建微信网络课堂。根据高职院校计算机基础课教学中存在的普遍问题,把微信网络平台引入到时计算机基础课教学中。以微信为载体,实践研究基于微信的计算机基础教学模式,并对实施效果进行了简单的分析。  关键词:泛在学习;微信网络;计算机基础教学  1概述  习近平在致首届国际教育信息化大会的贺信中指出,“当今世界,
摘要:基于本课题设计的教学模式,尝试以课堂教学为主的混合式学习模式,基于MOOC理念,再造教学流程,重构教学生态链,尝试以课堂教学为主的混合式学习模式,利用优质的开放教育资源及基于MOOC平台自主开发《c语言程序设计》课程对课堂教学进行改造。  关键词:MOOC;混合式教学  中图分类号:G64  文献标识码:A  文章编号:1009-3044(2017)10-0125-02  1.引言  基于M
摘要:经济形态下,互联网、计算机、物联网、信息技术得到推广与应用,互联网 作为一种新的经济形态,对行业发展具有重要作用,能够推动企业创新、提升工作效率。将其应用在微课教学中,是新课程改革下的又一突破,为教育教学打开了新的篇章,尤其是将其应用在《计算机应用基础》教学中,创新了教学方法、教学模式,效果显著。对此,笔者根据多年教学经验,就互联网 时代下的微课教学有效性,进行简要分析并提出自己想法与建议,