在线自定义表单可以让用户提交数据变得非常方便,市面上也有很多成熟的系统和平台,各有优缺点,这里就不举例也不多说了。

现在我们来探讨一下自己设计程序的思路吧。

目前浏览的自定义表单系统在数据结构上,比较主流的有二种。一种(方式A)是在后台直接添加一个新的数据库表,将表单元素项设置为字段或节点,如DEDE;另一种(方式B)是在同一个数据库表中添加,公用一个字段,每个字段用自己的方式分割(如标识符、JSON),如ANDX、NSMS(https://www.jianshu.com/p/053225415e6b)都是用的这种方式。

两种方式各有各的优点和缺点。

方式A的优点是,查询更方便,数据容量更大,修改用户提交数据较方便,因为每个表单的数据库表都是独立的。缺点是表单太多的话,创建(修改)多个表单很麻烦,因为每个表的字段都需要变动;字段更换数据结构时,容易出错;删除表单元素(重新修改表单)后,旧数据可能会了出现丢失的情况等。所以,很多采用这种方式的表单系统,在创建表单的结构后,都没有提供修改功能的,一般只能删除后重新创建。

方式B的优点是,数据容错性更强。表单元素可以重复利用,创建(修改)多个表单时,可以提高效率;因为表单元素不在同一个数据库表中,删除表单元素(重新修改表单)后,旧数据一般也不会出现丢失的情况。缺点是查询和修改用户提交数据不如方式A方便,数据容量可能会小一些。

这二种方式的优缺点在理解上可以看作是相反的,也就是看你使用场景以及需求的侧重点。而且每种方式的缺点也并非绝对,都是可以通过其它技术手段来解决的。

表单的重点还是可以提交和数据种类的数量,以及对应的数据检验。这关系到表单系统的日常操作和程序安全。一般考虑的是文本格式和文件格式的检验方式。文本内容的格式,如时间、数字等,以及文本的编码,都需要考虑。如果表单可以上传,除了考虑文件本身的安全性外,还要考虑会不会出现被人无限上传后,占用完服务器存储空间的问题。

万能表单php设计思路,在线自定义万能表单的设计思路相关推荐

  1. 上新|设计开发在线协同工具墨刀「设计画布」全新发布

    哈喽,刀友们,我们又见面啦! 老朋友们都知道,墨刀创立7年以来,陆续推出了原型.设计.流程图.思维导图等产品,墨刀的产品体系不断得到完善. 今天,墨刀大家庭再添新成员,一款为设计&开发量身打造 ...

  2. 用于web网页的html文件属于,南开15春学期《Web页面设计》在线作业满分答案

    南开大学2015春学期<Web页面设计>在线作业(满分答案) 单选题多选题判断题 一.单选题(共20 道试题,共40 分.) 1. 由1位/像素的信息组成,占用内存最小的颜色模式是 A. ...

  3. 企业级自定义表单引擎解决方案(二)--架构及核心模块设计

    .net core研发的自定义表单引擎,采用强大的规则引擎将所有的业务串联起来的,和其他低代码平台是有本质的区别的,目标是完全解放繁琐的CRUD工作. 先总体介绍一下大概的架构和核心模块设计.先上一张 ...

  4. 表单在线生成 html代码,JSP实现用于自动生成表单标签html代码的自定义表单标签...

    本文实例讲述了JSP实现用于自动生成表单标签html代码的自定义表单标签.分享给大家供大家参考.具体如下: 这个是自己写的一个简单的JSP表单标签,用于自动生成checkbox,select,radi ...

  5. ant4 多个form 验证_ant-design表单处理和常用方法及自定义验证操作

    首先要说一下antdesign这个框架API和demo丰富,而且开发环境提供对应的warning来纠正用户的错误.是一个很好的组件库. 关于表单验证方面是依赖于 async-validator 库.百 ...

  6. mysql动态表单设计与实现_动态表单的数据库结构设计

    利用在线编辑器设计的表单,包含输入框,明细表(动态添加行)等需要存储到数据库的信息,现在有三种思路: 1.一个表单对应数据库的一张或多张物理表(主从表),这种设计在很多业务的情况下,其数据库的物理表会 ...

  7. antd 动态添加表单_ZooTeam 拍了拍你,来看看如何设计动态化表单

    ? 这是第 58篇不掺水的原创,想要了解更多,请戳上方蓝色字体:政采云前端团队关注我们吧- 本文首发于政采云前端团队博客:ZooTeam 拍了拍你,来看看如何设计动态化表单 https://www.z ...

  8. android 漂亮的表单界面,面向ArcGIS for Android的表单界面生成器的设计与实现

    孙俊英 陈忠超 摘 要:基于ArcGIS for Android的采集系统作为当下主要的野外采样方式之一,被广泛的应用于各类场景,针对不同采集内容,采集系统的主要差异在于采样的属性数据所有不同,使用传 ...

  9. 自定义django表单

    The Django Book:第18章 自定义Django的admin界面 第6章介绍了Django的admin界面,现在是回过头来仔细看看这个的时候了 我们前面讲的几次admin是Django的& ...

最新文章

  1. 3 ADO.NET跟踪日志
  2. 不用鼠标,只用键盘,你还能操作自如吗?
  3. C++矩阵运算库推荐
  4. DL之CycleGAN:基于TF利用CycleGAN模型对apple2orange数据集实现图像转换—训练测试过程全记录
  5. U3D physics总结
  6. Android 编程下获得应用程序的签名
  7. linux io 分析,Linux 下的I/O性能分析 iotop
  8. 一名“企业定制化人才”的自诉:“我不愿意,但却无可奈何”
  9. 使用Java 8.0进行类型安全的依赖项注入
  10. Vista,Windows7中给IIS7添加PHP支持
  11. 【Pytorch神经网络实战案例】21 基于Cora数据集实现Multi_Sample Dropout图卷积网络模型的论文分类
  12. linux邮件加密码,linux系统的邮件服务器的加密与验证
  13. LINQ to SQL VS LINQ to Entities
  14. matlab eps是什么
  15. 一.office-Word2010 办公常用功能操作教程
  16. 【XA.DAY.4】网络安全体系与模型
  17. The server encountered an internal error () that prevented it from fulfilling this request
  18. 2018新年庙会归来
  19. 关于UWP中下载文件夹操作问题
  20. 求100以内的所有质数(素数)

热门文章

  1. 浅谈Deferred(延迟对象)
  2. FinalShell使用教程:SSH链接Linux服务器
  3. 《大数据时代》(维克托·迈尔·舍恩伯格)读书笔记
  4. 让阿里告诉你, iOS开发者为什么要学 Flutter !
  5. Leetcode(24)——两两交换链表中的节点
  6. linux pdf 加水印,将动态水印添加到PDF
  7. OOP Class具体解释
  8. unity ECS简介
  9. 如何在linux执行PHP文件
  10. 自制win10 PE usb启动盘教程