你有没有发现用PHPCMS做站的时候,原生自带的自定义表单难用的要死?前端调用样式固定死,要加个短信通知、提交跳转、数据导出功能,就得改系统核心文件,上次我傻呵呵改完没备份,系统一升级直接给我覆盖了,两百多条客户报名数据差点没找回来,给我整出心理阴影了。
说白了做独立插件才是最优解,所有逻辑都封在插件目录里,完全不碰系统核心,升级、换环境都不受影响,自己用或者给客户做站都能复用,省老多事了。
不用啥高端技术,会点基础PHP、HTML就能搞,实在不会复制粘贴改参数也能凑合用。先去PHPCMS根目录的plugin文件夹里新建个文件夹,名字就叫formplus,别用中文别加特殊符号,不然后台直接识别不到爆错。
接着在这个文件夹里建个config.php配置文件,这是插件的身份证,后台要靠它识别插件信息,代码直接抄下面的就行,参数改成你自己的:
```php '自定义表单增强插件', 'version' => '1.0', 'author' => '你的名字', 'description' => '支持自定义字段、短信通知、数据导出的独立表单插件', 'menu' => array( array('name' => '表单列表', 'url' => '?m=formplus&c=admin&a=init'), array('name' => '添加表单', 'url' => '?m=formplus&c=admin&a=add'), ) ); ?> ```写完这个你去后台扩展-插件管理里看,已经能看到这个插件的条目了,先别急着安装,把核心逻辑写完再说。
说白了就是增删改查那点事儿,懒得自己写就去扒系统自带的留言板插件的后台代码,改改表名和字段就行。记得建表的时候用系统自带的pc_前缀,别自己瞎写别的前缀,不然下次迁移站数据库导入直接炸,表结构就加id、表单名称、字段配置、创建时间这几个核心字段就行,不用搞太复杂。
字段配置直接存json格式就行,后台加字段的时候选类型(文本、手机号、单选、多选这些),存的时候转成json存到表里,前端调用的时候再解析出来,灵活的很,要加啥新字段类型直接加个选项就行。
很多人做的表单用不了半个月就被刷一堆垃圾数据,就是没加校验。提交的时候一定要加token校验,再加个1分钟内同IP只能提交1次的限制,能挡住90%的爬虫刷量。

前端调用也简单,你在后台建好表单生成调用代码,直接粘到要放表单的页面就行,示例代码给你放这:
```html ```接收提交的逻辑写在api.php里,提交过来的数据先过一遍过滤函数,防止SQL注入,校验通过了再存到对应表单的数据表里,要加短信通知、邮件通知的,直接在这一步加个API调用就行,完全不用改别的地方。
别图省事不给表单加字段校验,之前我有个客户的站没加手机号格式校验,后台存了一堆乱七八遭的数字,整理数据的时候整理了整整两天,人都快疯了。
后台数据列表一定要加导出Excel的功能,不用找啥收费插件,装个phpspreadsheet库,几十行代码就能实现,客户要数据的时候直接导给他,不用你再后台一条一条复制。
所有功能写完之后后台点下安装就能用,以后要做啥报名、留言、预约表单,直接在插件后台加字段生成代码,5分钟就能搞定,比改原生表单香太多了。
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图