织梦自定义表单怎么做提交页面

2026-08-04 19:17:11 情怀礼包

织梦自定义表单怎么做提交页面

织梦自定义表单(diyform)用于在线报名、留言反馈、问卷调查等场景,是站点与用户互动的核心功能。本文从建表到调用、从邮件提醒到防垃圾,给出完整的可落地实现。

一、自定义表单的适用场景

在线报名:课程报名、活动报名;

客户留言:售前咨询、售后反馈;

问卷调查:用户满意度、产品调研;

资源申请:资料下载、试用申请。

织梦把每个表单存在独立数据表 dede_diyformN,字段可自定义,提交数据后台可视化管理。

二、第一步:创建自定义表单

后台 核心 - 频道模型 - 自定义表单 - 添加新的自定义表单;

填写表单名称(如“在线报名”)、数据表名(如 baoming);

模板文件:默认 post.htm(提交页)、list.htm(列表页)、view.htm(查看页);

提交后记录 diyid(表单 ID)。

三、第二步:添加字段

进入表单详情 → 字段管理 - 添加新字段,常见字段:

字段名字段标题类型

name姓名单行文本

phone电话单行文本

email邮箱单行文本

course报名课程下拉框

message备注多行文本

四、第三步:制作前台提交页面

织梦默认表单模板较简陋,建议自定义。在 /templets/plus/ 下创建 post_diyform1.htm(diyid=1):

访问地址:http://www.yourdomain.com/plus/diy.php?action=post&diyid=1

五、第四步:提交后处理

1. 自定义提示页面

修改 /plus/diy.php 的成功跳转:

// 找到 showmsg('提交成功', 0); 改为

ShowMsg('提交成功,我们会尽快联系您!', '/baoming-success.html');

exit;

或在 /templets/plus/ 创建 diy_success.htm 作为成功页。

2. 邮件提醒管理员

在 /plus/diy.php 提交入库后追加:

// 发送邮件通知

$mailtitle="新报名:{$name} - {$phone}";

$mailbody="姓名:{$name}\n电话:{$phone}\n课程:{$course}\n备注:{$message}";

$mailtype="TXT";

$cfg_smtp_server=$cfg_smtp_server;

$cfg_smtp_usermail=$cfg_smtp_usermail;

$cfg_smtp_password=$cfg_smtp_password;

$cfg_smtp_port=$cfg_smtp_port;

$smtp=new smtp($cfg_smtp_server, $cfg_smtp_port, true, $cfg_smtp_usermail, $cfg_smtp_password);

$smtp->debug=false;

$smtp->sendmail($cfg_smtp_usermail, $cfg_webname, $name, $mailtitle, $mailbody, $mailtype);

六、第五步:防垃圾提交

1. 验证码

表单加验证码字段:

验证码

/plus/diy.php 校验:

session_start();

if(strtolower($_POST['validate']) !=$_SESSION['securimage_code_value']){

ShowMsg('验证码错误', '-1');

exit;

}

2. 时间间隔限制

session_start();

if(isset($_SESSION['last_submit']) && time() - $_SESSION['last_submit'] < 60){

ShowMsg('提交过于频繁,请稍后再试', '-1');

exit;

}

$_SESSION['last_submit']=time();

3. Token 防跨站

表单加隐藏 token,/plus/diy.php 校验,避免被外部站直接 POST。

七、第六步:后台管理提交数据

后台 核心 - 自定义表单 - 在线报名 - 管理数据:

查看每条提交记录;

导出为 Excel(需插件或自定义导出);

删除无效数据;

修改字段顺序与必填属性。

八、第七步:表单样式美化

表单容器 CSS:

.form-item{margin:14px 0}

.form-item label{display:block;margin-bottom:6px;font-weight:bold}

.form-item input,.form-item select,.form-item textarea{

width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;font-size:15px

}

.form-item input:focus{border-color:var(--main);outline:none}

.required{color:#e53935}

button{background:var(--main);color:#fff;border:none;padding:12px 30px;border-radius:4px;cursor:pointer}

button:hover{background:var(--dark)}

九、注意事项

表单字段名不要用 MySQL 保留字(如 order、group);

手机号、邮箱要做格式校验,避免垃圾数据;

提交数据要定期备份,自定义表单不在主备份范围;

表单页 URL 要在 robots.txt 中 Disallow,避免被搜索引擎收录。

自定义表单是织梦与用户互动的桥梁,做好“字段设计 + 样式美化 + 防垃圾 + 邮件提醒”四件事就能满足绝大多数业务需求。建议上线后持续观察提交数据质量,根据真实反馈调整字段与校验规则,让表单成为站点转化与用户运营的有效入口。