织梦diy.php表单如何正确配置与使用?

99ANYc3cd6
预计阅读时长 17 分钟
位置: 首页 织梦建站 正文

这份指南将从 基础概念、创建流程、表单调用、高级技巧 四个方面,为你全面解析 diy.php

织梦diy.php表单
(图片来源网络,侵删)

基础概念

  1. 什么是 diy.php diy.php 是一个动态脚本,它根据你在后台配置的表单ID,动态生成对应的HTML表单,并处理表单提交的数据,你不需要手动创建 add.phppost.php 这样的文件。

  2. 核心流程:

    • 后台创建表单:在织梦后台定义一个表单,包含哪些字段、字段类型、是否必填等。
    • 前台调用表单:使用特定的Dede标签 {dede:diyform} 在任意页面(如文章页、首页)中调用这个表单。
    • 用户提交数据:访客在前台填写并提交表单。
    • 数据入库与管理:数据被存入织梦数据库的 dede_diyform 相关表中,你可以在后台“核心” -> “内容模型管理” -> “自定义表单”中查看和管理这些数据。

创建自定义表单的完整流程

这是最核心的步骤,请跟着操作。

步骤 1:进入自定义表单管理

登录织梦后台,点击菜单栏的 “核心” -> 模型管理” -> “自定义表单”

织梦diy.php表单
(图片来源网络,侵删)

步骤 2:创建一个新的自定义表单

点击右上角的 “增加一个自定义表单” 按钮。

步骤 3:填写表单信息

在弹出的页面中,填写以下关键信息:

  • 表单名称:给你的表单起一个名字,在线报名”、“产品咨询”、“留言反馈”等,这个名字主要是为了在后台方便识别。
  • 表单提示:这是提交成功后显示给用户的信息,提交成功!我们会尽快与您联系。”。
  • 表单字段:这是最核心的部分,你需要在这里定义表单里包含哪些输入框、下拉框等。

步骤 4:添加表单字段

在“表单字段”区域,点击 “添加字段”,开始逐个添加你需要的字段。

每个字段都需要设置以下属性:

织梦diy.php表单
(图片来源网络,侵删)
  • 字段名称:数据库中的字段名,只能使用英文字母、数字和下划线name, tel, company,一旦创建,尽量不要修改。
  • 字段提示:在输入框上方显示给用户的提示文字,请输入您的姓名”、“请选择您的性别”。
  • 是否必填:勾选此项后,用户如果不填写该字段将无法提交表单。
  • 数据校验:对输入内容进行格式校验。
    • 数字:只能输入数字。
    • 邮件:必须符合邮箱格式。
    • 电话:通常用于手机号校验(正则表达式可自定义)。
    • QQ:用于QQ号校验。
    • URL:网址格式。
    • 身份证:身份证号码格式。
  • 默认值:可以设置一个默认显示的内容。
  • 显示方式:选择字段在前台的展示形式。
    • 文本:单行文本输入框。
    • 多行文本:多行文本域,适合填写长文本。
    • 下拉框:单选下拉菜单。
    • 单选框:单选按钮组。
    • 复选框:多选按钮组。
    • 数字:只能输入数字的文本框。
    • 时间:日期时间选择器。
    • 附件:允许用户上传文件。
    • 编辑器:集成织梦的编辑器,可以输入富文本。

示例:创建一个“在线报名”表单

  1. 字段1:姓名

    • 字段名称:name
    • 字段提示:请输入您的姓名
    • 是否必填:是
    • 显示方式:文本
  2. 字段2:手机号

    • 字段名称:tel
    • 字段提示:请输入您的手机号码
    • 是否必填:是
    • 数据校验:电话
    • 显示方式:文本
  3. 字段3:意向课程

    • 字段名称:course
    • 字段提示:请选择您的意向课程
    • 是否必填:是
    • 显示方式:下拉框
    • 选项:在“选项值”中填写,每行一个,
      PHP开发
      前端开发
      UI设计
  4. 字段4:备注

    • 字段名称:remark
    • 字段提示:其他备注信息(选填)
    • 是否必填:否
    • 显示方式:多行文本

填写完所有字段后,点击底部的 “保存” 按钮。

步骤 5:获取表单ID

保存成功后,你会回到自定义表单列表页面,找到你刚刚创建的表单,在 “表单ID” 一列会有一个数字,请记下这个ID1


在前台页面调用表单

你需要在网站的某个页面展示这个表单。

使用Dede标签(推荐)

这是最标准、最灵活的方法,将以下代码复制到你想要显示表单的HTML文件中(index.htm 或一个专门的联系页面)。

{dede:diyform id='1'/}
  • id='1':这里的 1 就是你上一步记下的 表单ID

如何修改表单的HTML样式?

默认的样式可能很朴素,你可以通过修改织梦的模板文件来自定义样式。

  1. 找到模板文件: 织梦的自定义表单模板存放在 /templets/default/diyform.htm,这个文件是根据你创建表单时选择的模板(默认是 default)来决定的。

  2. 备份并修改 diyform.htm: 在修改之前,请务必先备份这个原始文件,然后用你喜欢的代码编辑器(如VS Code, Sublime Text)打开它。

  3. 理解模板结构diyform.htm 文件里使用了织梦的底层字段变量 {dede:field.name/} 等,你可以像修改普通HTML文件一样,在里面添加CSS样式和布局。

    示例 diyform.htm 修改:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">在线报名</title>
    <style>
        .my-form { max-width: 500px; margin: 20px auto; padding: 20px; border: 1px solid #ddd; border-radius: 5px; }
        .my-form p { margin-bottom: 15px; }
        .my-form label { display: block; margin-bottom: 5px; font-weight: bold; }
        .my-form input[type="text"], .my-form select, .my-form textarea { width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 3px; box-sizing: border-box; }
        .my-form input[type="submit"] { background-color: #007bff; color: white; padding: 10px 20px; border: none; border-radius: 3px; cursor: pointer; }
        .my-form input[type="submit"]:hover { background-color: #0056b3; }
    </style>
    </head>
    <body>
    <h2 style="text-align: center;">在线报名</h2>
    <!-- 这里的 {dede:diyform} 标签会根据你的字段配置生成具体的表单HTML -->
    {dede:diyform id='1'/}
    </body>
    </html>

    通过修改这个文件,你可以完全控制表单的外观。

使用PHP代码调用

如果你想在PHP文件中直接调用表单,可以使用以下代码:

<?php
    require_once(dirname(__FILE__)."/include/common.inc.php");
    require_once(DEDEINC."/arc.partview.class.php");
    // 第二个参数是表单ID,第三个参数是模板文件名(相对于templets目录)
    $pv = new PartView();
    $pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/default/diyform.htm");
    $pv->Display();
?>

这种方法本质上和方法一是一样的,只是调用方式不同,通常我们推荐使用 {dede:diyform} 标签,因为它更符合织梦模板的规范。


高级技巧与常见问题

如何在提交后跳转到指定页面?

在后台“自定义表单”列表中,点击你表单后面的 “修改” 按钮,在 “表单提示” 文本框的下方,有一个 “跳转网址” 的输入框,在这里填入你希望用户提交成功后跳转的URL即可,留空则不跳转。

如何管理提交的数据?

  • 后台查看:后台“核心” -> “内容模型管理” -> “自定义表单”,点击你表单后面的 “管理” 按钮。
  • 数据导出:在管理页面,你可以勾选多条数据,然后点击顶部的 “选择:数据导出为Excel文件”,将数据下载到本地。

如何防止表单被恶意提交(垃圾信息)?

织梦 diy.php 默认集成了 验证码 功能来防止机器人提交。

  • 开启验证码:在后台“自定义表单”的修改页面,找到 “验证码” 选项,设置为“是”即可。
  • 前台代码:模板文件 diyform.htm 中,织梦会自动在表单末尾添加验证码的输入框,你无需手动添加。

常见错误:未定义变量:diyid

这个错误通常是因为你在调用 {dede:diyform} 标签时,没有提供正确的 id 属性,或者ID不存在。 请检查你的调用代码:{dede:diyform id='1'/},确保 1 是一个真实存在的表单ID。

如何修改已创建的字段?

  • 字段名称强烈不建议修改,因为这涉及到数据库结构变更,可能导致数据错乱或丢失。
  • 字段提示、是否必填等:这些信息可以在后台“自定义表单”的修改页面进行更改。

步骤 操作 关键点
后台创建 核心 -> 内容模型管理 -> 自定义表单 -> 增加一个 定义字段名称(英文)、字段提示是否必填显示方式
获取ID 在自定义表单列表中找到你的表单 记下表单ID(如 1
前台调用 在模板文件中使用 {dede:diyform id='1'/} id 必须和后台的表单ID一致
美化表单 修改 /templets/default/diyform.htm 文件 自定义CSS样式和HTML结构
管理数据 后台“自定义表单”列表 -> 点击“管理” 查看、审核、删除、导出数据

通过以上步骤,你就可以在织梦网站中灵活地创建和使用各种功能强大的表单了。

-- 展开阅读全文 --
头像
C语言如何实现输入123输出321?
« 上一篇 今天
织梦CMS换模板步骤详解?
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码

目录[+]