织梦自定义表单留言如何实现与提交?

99ANYc3cd6
预计阅读时长 20 分钟
位置: 首页 织梦建站 正文
  1. 创建自定义表单:在后台定义你需要收集的字段(如姓名、电话、邮箱、留言内容等)。
  2. 在前台页面调用表单:将你创建好的表单添加到网站的任何一个页面。
  3. 管理和查看留言:在后台接收、查看和管理用户提交的表单数据。

第一步:在后台创建自定义表单

这是最核心的一步,你需要告诉织梦你要收集哪些信息。

织梦自定义表单留言
(图片来源网络,侵删)
  1. 登录织梦后台:使用你的管理员账号登录网站后台。

  2. 进入自定义表单管理

    • 在左侧菜单栏中,找到 【核心】 -> 【自定义表单】
    • 点击进入后,你会看到一个管理界面,默认是空的。
  3. 创建新的表单

    • 点击右上角的 【增加自定义表单】 按钮。
    • 在弹出的页面中,填写以下信息:
      • 表单名称:给你的表单起一个容易识别的名字,网站留言”、“产品咨询”、“报名申请”等,这个名字主要用于后台管理。
      • :这是用户提交表单时,在后台看到的默认标题,你可以留空,也可以设置一个固定的标题,新的留言提交”。
      • 栏目选择:选择一个栏目来关联这个表单,我们会创建一个专门的“留言/反馈”栏目,然后在这里选择它,这样,提交的留言就会以文章的形式出现在这个栏目下。
      • 列表模板:用于设置表单提交成功后,跳转到的列表页面样式,你可以使用默认的,或者自己创建一个模板文件。
      • 发布模板:用于设置单个表单数据的显示页面样式,同样,可以使用默认的。
      • 表单说明:在表单上方给用户的提示信息,请填写以下信息,我们会尽快与您联系”。
      • 是否启用:务必选择 “是”,否则前台将无法显示此表单。
      • 默认排序:设置留言列表的默认排序方式,例如按ID降序(最新的在最前面)。
  4. 添加表单字段(最关键的一步)

    织梦自定义表单留言
    (图片来源网络,侵删)
    • 填写完基本信息后,向下滚动页面,你会看到 “自定义表单字段管理” 部分。
    • 点击 【增加字段】
    • 字段名:这是数据库中的字段名,必须使用英文或拼音,name, tel, email, content注意:不要使用中文或特殊字符
    • 字段提示:这是在表单中显示给用户的标签,您的姓名”、“联系电话”、“电子邮箱”、“留言内容”。
    • 字段类型:选择适合的字段类型。
      • 文本:用于短文本,如姓名、电话、邮箱。
      • 多行文本:用于长文本,如留言内容、详细地址。
      • 单选:用于单项选择,如性别、咨询类型,你需要设置选项,用 分隔,男|女
      • 多选:用于多项选择,如兴趣爱好,设置选项同上,运动|音乐|阅读
      • 下拉框:与单选类似,但显示为下拉菜单。
      • 复选框:与多选类似,但显示为复选框。
      • 时间:用于选择日期和时间。
      • 文件上传:允许用户上传文件。注意:需要提前在后台设置好上传目录和权限。
    • 是否必填:勾选此项后,用户必须填写该字段才能提交表单。
    • 默认值:可以为字段设置一个默认值,例如性别默认“男”。
    • 数据校验:可以设置简单的校验规则,如数字、邮箱格式等。
    • 提交后是否显示:选择“否”,可以用于收集一些不希望在前台展示给用户的信息,如内部备注。
  5. 保存并生成

    • 将所有字段添加完毕后,点击页面底部的 【确定】【保存并生成】 按钮。
    • 织梦会自动为你生成一个存放表单数据的栏目(如果你之前没有选择,它会提示你创建),并生成必要的模板文件。

第二步:在前台页面调用表单

创建好表单后,你需要在前台页面显示它。

  1. 获取表单代码

    • 再次进入 【核心】 -> 【自定义表单】
    • 找到你刚刚创建的表单,点击右侧的 【调用】 按钮。
    • 在弹出的窗口中,系统会自动生成一段代码,类似这样:
      {dede:loop table='dede_yzform' sort='id' row='10' titlelen='50' typeid='1'}
      <a href="[field:arcurl/]">[field:title/]</a>
      {/dede:loop}
    • 这段代码是用来显示已提交留言列表的,不是用来显示输入表单的!
    • 正确的调用方式是使用 {dede:php} 标签,点击 【调用】 按钮后,仔细看页面说明,或者直接使用下面的通用代码。
  2. 将表单代码插入到模板文件

    • 打开你想要放置表单的模板文件(index.htm, about.htm 等)。
    • 在你希望显示表单的位置,插入以下代码:
    <!-- 调用自定义表单,注意替换 '你的表单ID' -->
    {dede:php}
    $dsql->SetQuery("SELECT * FROM `#@__yzform` WHERE id=你的表单ID");
    $dsql->Execute();
    $formfields = $dsql->GetArray();
    // 这里可以做一些处理,但通常我们直接使用下面的标签
    {/dede:php}
    <!-- 这是表单的HTML结构,直接复制使用即可 -->
    <form action="/plus/diy.php" enctype="multipart/form-data" method="post">
        <input type="hidden" name="action" value="post" />
        <input type="hidden" name="diyid" value="你的表单ID" />
        <input type="hidden" name="do" value="2" />
        <!-- 在这里循环输出你定义的字段 -->
        <!-- 假设你定义了 name, tel, content 三个字段 -->
        <div class="form-group">
            <label for="name">您的姓名:</label>
            <input type="text" name="name" id="name" class="form-control" />
        </div>
        <div class="form-group">
            <label for="tel">联系电话:</label>
            <input type="text" name="tel" id="tel" class="form-control" />
        </div>
        <div class="form-group">
            <label for="content">留言内容:</label>
            <textarea name="content" id="content" class="form-control" rows="5"></textarea>
        </div>
        <!-- 如果有单选/多选/下拉框,需要手动编写HTML -->
        <!-- 一个名为 'type' 的单选字段,选项是 '咨询|建议|投诉' -->
        <div class="form-group">
            <label>留言类型:</label>
            <label><input type="radio" name="type" value="咨询" /> 咨询</label>
            <label><input type="radio" name="type" value="建议" /> 建议</label>
            <label><input type="radio" name="type" value="投诉" /> 投诉</label>
        </div>
        <button type="submit" class="btn btn-primary">提交</button>
    </form>

    代码解释

    • action="/plus/diy.php":表单提交的地址,这是织梦固定的处理文件。
    • name="diyid"最关键的参数,它的值是你创建的表单的ID,你可以在自定义表单列表页面看到每个表单的ID。
    • name="字段名"input, textarea, select 等表单元素的 name 属性,必须和你在后台定义的字段名(字段名)完全一致。
    • 如何找到你的表单ID? 在后台【自定义表单】列表中,查看你创建的表单,第一列的数字就是ID。

第三步:管理和查看留言

用户提交表单后,你可以在后台查看和管理这些数据。

  1. 进入留言管理

    • 在后台左侧菜单栏,找到 【核心】 -> 管理】 -> 【自定义表单管理】
    • 你会看到一个列表,里面包含了所有用户提交的表单数据,数据会以文章的形式展示,标题是你在后台设置的“默认标题”。
  2. 查看和审核

    • 你可以点击任意一条数据来查看其详细内容。
    • 默认情况下,新提交的留言状态可能是“待审核”,你需要将其状态修改为“已审核”,它才会在前台的列表页面显示出来(如果你使用了列表模板调用的话)。
    • 你可以在这里对留言进行回复、删除或修改状态。
  3. 数据导出

    • 如果你需要将数据导出为Excel或其他格式,可以使用一些织梦插件,或者直接在数据库中导出 #@__yzform 相关的数据表。

常见问题与注意事项

  • 提交后跳转页面:如果你想自定义提交成功后的跳转页面,可以在表单代码中加入一个隐藏字段:

    <input type="hidden" name="gotopage" value="/success.html" />

    然后你需要自己创建一个 success.html 页面,并生成到网站根目录。

  • 表单样式:上面的代码使用了 form-groupform-control 类,这是Bootstrap框架的样式,如果你的网站没有使用Bootstrap,可以删除这些类,或者换成你自己的CSS样式。

  • CSRF安全验证:新版本的织梦默认开启了CSRF验证,如果你的表单提交失败,可以尝试在表单中添加织梦的CSRF token:

    <input type="hidden" name="dede_fields" value="你的字段列表" />
    <input type="hidden" name="dede_fieldshash" value="自动生成的哈希值" />

    更简单的方法是,在表单里加上 {dede:csrfpost/} 标签,织梦会自动处理。

  • 邮件提醒:织梦的自定义表单默认不包含邮件提醒功能,如果你希望在收到新留言时通过邮件通知管理员,可以安装第三方插件或手动修改 plus/diy.php 文件,在处理提交数据后加入邮件发送的代码。

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

-- 展开阅读全文 --
头像
织梦数据库乱码如何还原?
« 上一篇 今天
dede采集发布模块如何使用?
下一篇 » 今天

相关文章

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

目录[+]