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