织梦自定义表单如何使用?

99ANYc3cd6
预计阅读时长 24 分钟
位置: 首页 织梦建站 正文
  1. 后台创建表单:定义你需要收集哪些信息。
  2. 前台调用表单:将创建好的表单显示在网站页面上。
  3. 后台管理表单数据:查看和管理用户提交的信息。

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

这是最关键的一步,你需要在这里设计表单的字段。

织梦自定义表单怎么使用
(图片来源网络,侵删)

登录织梦后台

打开你的网站后台,使用管理员账号登录。

进入自定义表单管理界面

在后台左侧菜单栏中,找到并点击 【核心】 -> 插件】 -> 【自定义表单】

创建新的自定义表单

在自定义表单管理页面,点击右上角的 【增加自定义表单】 按钮。

填写表单基本信息

在弹出的表单中,你需要填写以下几个核心字段:

  • 表单名称:给你的表单起一个容易识别的名字,在线报名”、“产品咨询”、“人才招聘”等,这个名字只在后台管理时可见,前台不会显示。
  • 表单提示:这是用户在填写表单前看到的引导性文字,请认真填写以下信息,我们会尽快与您联系”,这部分内容会显示在表单的上方。
  • :这里是表单的核心,你需要在这里手动 HTML代码 来定义表单的字段和样式,织梦不会像其他CMS那样提供可视化的字段添加界面,所以你需要手动编写HTML代码。

编写表单内容的HTML代码

这是新手最容易困惑的地方,你需要结合HTML表单标签和织梦的专用标签 {dede:php} 来编写。

常用HTML表单元素:

  • 文本输入框<input type="text" name="字段名" placeholder="提示文字" />
  • 多行文本框<textarea name="字段名" placeholder="请输入详细内容"></textarea>
  • 下拉选择框
    <select name="字段名">
        <option value="选项1">选项1</option>
        <option value="选项2">选项2</option>
    </select>
  • 单选按钮
    <input type="radio" name="字段名" value="男" /> 男
    <input type="radio" name="字段名" value="女" /> 女
  • 复选框
    <input type="checkbox" name="字段名[]" value="选项1" /> 选项1
    <input type="checkbox" name="字段名[]" value="选项2" /> 选项2
  • 提交按钮<input type="submit" value="提交" />

织梦专用标签:

  • {dede:php}:用于执行PHP代码,最重要的作用是生成表单提交的目标地址和令牌。
    • action='{dede:php}echo $cfg_cmspath;{/dede:php}/plus/diy.php':这是表单提交的地址,必须使用这个标签来动态获取。
    • input type='hidden' name='dede_fields' value='字段名1,文本串1;字段名2,文本串2'这是最重要的隐藏字段,它告诉织梦你要保存哪些数据。
      • 字段名:对应你HTML标签中 name 属性的值,如 name="name",这里的字段名就是 name
      • 文本串:字段的类型,常用值有:text (文本), varchar (短文本), number (数字), datetime (日期时间), htmltext (多行文本) 等,这个类型决定了数据在后台的存储方式。
    • input type='hidden' name='dede_fieldshash' value='':用于防止重复提交的安全令牌,通常留空即可,织梦会自动生成。

【实战示例:创建一个“在线报名”表单】

假设我们要创建一个包含“姓名”、“电话”、“意向课程”和“备注”的报名表单。

表单名称:在线报名 表单提示:欢迎参加我们的培训课程,请填写以下信息报名。 的HTML代码如下:

<style>
    .my-form p { margin-bottom: 15px; }
    .my-form label { display: inline-block; width: 80px; }
    .my-form input[type="text"], .my-form select, .my-form textarea { width: 250px; padding: 5px; border: 1px solid #ccc; }
    .my-form textarea { height: 100px; resize: none; }
    .my-form .submit { margin-left: 85px; }
</style>
<div class="my-form">
    <p>
        <label>姓名:</label>
        <input type="text" name="name" placeholder="请输入您的姓名" required />
    </p>
    <p>
        <label>电话:</label>
        <input type="text" name="tel" placeholder="请输入您的联系电话" required />
    </p>
    <p>
        <label>意向课程:</label>
        <select name="course">
            <option value="">请选择课程</option>
            <option value="PHP开发">PHP开发</option>
            <option value="前端开发">前端开发</option>
            <option value="UI设计">UI设计</option>
        </select>
    </p>
    <p>
        <label>备注:</label>
        <textarea name="remark" placeholder="请输入其他信息或备注"></textarea>
    </p>
    <p class="submit">
        <input type="submit" name="submit" value="提 交" />
    </p>
</div>
<!-- 织梦专用代码,必须放在form标签内 -->
{dede:php}
    // 隐藏字段:定义要提交的字段和类型
    echo "<input type='hidden' name='dede_fields' value='name,text;tel,text;course,text;remark,htmltext' />\n";
    // 安全令牌
    echo "<input type='hidden' name='dede_fieldshash' value='' />\n";
    // 表单提交地址
    echo "<input type='hidden' name='action' value='post' />\n";
    // 提交后跳转的页面,可以写一个“提交成功”的页面地址
    echo "<input type='hidden' name='gourl' value='/plus/success.html' />\n";
{/dede:php}

代码解释:

  1. 我们用 <style> 简单美化了一下表单样式,可选。
  2. 每个表单元素都设置了 name 属性,这些 name (name, tel, course, remark) 将作为数据库的字段名。
  3. {dede:php}...{/dede:php} 里面的代码是关键。
    • dede_fields 的值 name,text;tel,text;course,text;remark,htmltext 定义了四个字段,并用分号隔开。remark 我们使用了 htmltext 类型,因为它可能包含换行,更适合存储多行文本。
    • action='post' 表示提交数据。
    • gourl 指定了提交成功后跳转的页面,你需要提前在网站里创建一个名为 success.html 的页面,并写上“提交成功,感谢您的报名!”之类的提示。

填写完所有信息后,点击 【确定】 保存,至此,后台的表单创建就完成了。


第二步:前台调用表单

你需要将这个创建好的表单显示在网站的某个页面上。

创建模板文件

在你的模板目录(通常是 /templets/default/ 或你自定义的模板目录)下,创建一个新的HTML文件,baoming.html

在模板文件中调用表单

baoming.html 文件中,使用织梦的 自定义表单调用标签 {dede:php} 来获取并显示表单。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">在线报名 - {dede:global.cfg_webname/}</title>
</head>
<body>
    <h1>在线报名</h1>
    {dede:php}
        // 调用ID为1的自定义表单
        // 注意:这里的数字1是你在后台创建的“在线报名”表单的ID,你可以在后台自定义表单列表里看到。
        $dsql->Execute('me', "select * from `dede_diyforms` where id=1");
        $arr = $dsql->GetArray();
        if(is_array($arr))
        {
            echo $arr['formht'];
        }
    {/dede:php}
</body>
</html>

代码解释:

  • {dede:php}...{/dede:php} 同样用于执行PHP代码。
  • $dsql->Execute(...) 是执行数据库查询的代码。
  • select * fromdede_diyformswhere id=1:从 dede_diyforms 这个表(存储表单信息的表)中查询 id 为 1 的记录。
  • 如何找到你的表单ID? 回到后台的 【自定义表单】 列表页面,鼠标悬停在你的表单名称上,浏览器左下角的状态栏会显示链接,如 diy.php?id=1,这里的 1 就是你的表单ID。
  • $arr['formht']:这个字段存储了你在后台填写的 ,我们将它直接 echo 出来,就会显示你之前编写的那个报名表单了。

生成并访问页面

  1. 在后台 【生成】 -> 【更新HTML】 -> 【更新指定页面的HTML】,选择你刚刚创建的 baoming.html 模板进行生成。
  2. 或者,你可以通过 【模板】 -> 【默认模板管理】,找到 baoming.html,点击后面的 【更新】 按钮。
  3. 访问你网站对应的页面(http://你的网站.com/baoming.html),就能看到你创建的报名表单了。

第三步:后台管理表单数据

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

  1. 进入数据管理界面:在后台左侧菜单栏中,找到 【核心】 -> 插件】 -> 【自定义表单】
  2. 查看数据:你会看到一个列表,这里列出了你创建的所有自定义表单,点击你想要查看的表单名称(在线报名”)。
  3. 管理数据
    • 列表:这里会显示所有用户提交的数据,每一条记录都对应一次提交,你可以看到提交时间、IP地址等信息。
    • 审核:默认情况下,新提交的数据是“未审核”状态,你可以勾选记录,然后点击顶部或底部的 【审核】 按钮将其通过。
    • 删除:勾选记录,点击 【删除】 按钮可以将其删除。
    • 查看详情:点击记录最左边的 【预览】【编辑】 图标,可以查看该条提交的详细信息。

常见问题与注意事项

  • 提交后没有反应或跳转错误

    • 检查 gourl 路径是否正确,确保该页面存在。
    • 检查表单内容里的 {dede:php} 标签是否完整,特别是 dede_fields 的值是否与你的 name 属性和字段类型对应正确。
    • 确保你的网站目录没有修改过,/plus/diy.php 文件存在。
  • 收不到邮件通知(如果配置了邮件发送)

    • 检查后台系统基本参数中的 【邮件设置】 是否配置正确。
    • 确保服务器支持邮件发送功能。
  • 样式错乱

    • 你可以在后台“表单内容”里直接写 <style> 标签来定义样式,也可以像示例中那样,在模板文件里通过CSS类来控制。

通过以上三个步骤,你就可以熟练地使用织梦的自定义表单功能了,虽然上手需要一点HTML基础,但一旦掌握,它的灵活性和强大功能会让你受益匪浅。

-- 展开阅读全文 --
头像
织梦CMS搭建网站步骤有哪些?
« 上一篇 01-11
c语言程序设计第四版答案是否完整且准确?
下一篇 » 01-11
取消
微信二维码
支付宝二维码

目录[+]