织梦表单添加验证码

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

使用织梦自带的“自定义表单”功能(推荐)

这是最简单、最直接的方法,织梦已经内置了验证码支持,我们只需要开启并配置即可。

织梦表单添加验证码
(图片来源网络,侵删)

步骤 1:开启自定义表单的验证码功能

  1. 登录你的织梦后台。
  2. 在左侧菜单栏中,找到并点击 【系统】 -> 【系统基本参数】
  3. 在打开的页面中,切换到 【核心设置】 选项卡。
  4. 找到 “是否开启验证码” 这个选项,将其设置为 “是”
  5. 向下滚动页面,找到 “验证码类型”,通常选择 “数字”“数字+字母” 即可。
  6. 点击 【确定保存】

步骤 2:创建并配置自定义表单

  1. 在后台左侧菜单栏中,点击 【核心】 -> 【自定义表单】

  2. 点击 【增加自定义表单】 按钮。

  3. 填写表单信息:

    • 表单名称:给你的表单起一个名字,联系我们表单”。
    • 表单栏目选择:选择一个存放表单数据的栏目(建议创建一个专门的“留言反馈”类栏目)。
    • 列表模板:可以留空,系统会自动生成。
    • 发布模板这是关键! 点击后面的 【选择】【修改】 按钮,进入模板编辑器。
  4. 编写发布模板(HTML + 验证码代码)

    织梦表单添加验证码
    (图片来源网络,侵删)

    在模板编辑器中,你需要编写表单的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="1" />  <!-- 这里的值1是你创建的表单ID,在列表页可以看到 -->
        <input type="hidden" name="do" value="2" />
        <!-- 隐藏字段,用于在后台获取提交信息 -->
        <input type="hidden" name="ip" value="{dede:ip function='GetIP()/'}" />
        <table width="98%" border="0" cellpadding="5" cellspacing="1" bgcolor="#e6e6e6" align="center">
            <tr>
                <td width="20%" bgcolor="#f9f9f9" align="right">您的姓名:</td>
                <td width="80%" bgcolor="#f9f9f9">
                    <input type="text" name="name" id="name" style="width:250px" class="text" />
                </td>
            </tr>
            <tr>
                <td width="20%" bgcolor="#f9f9f9" align="right">联系电话:</td>
                <td width="80%" bgcolor="#f9f9f9">
                    <input type="text" name="tel" id="tel" style="width:250px" class="text" />
                </td>
            </tr>
            <tr>
                <td width="20%" bgcolor="#f9f9f9" align="right">电子邮箱:</td>
                <td width="80%" bgcolor="#f9f9f9">
                    <input type="text" name="email" id="email" style="width:250px" class="text" />
                </td>
            </tr>
            <tr>
                <td width="20%" bgcolor="#f9f9f9" align="right">留言内容:</td>
                <td width="80%" bgcolor="#f9f9f9">
                    <textarea name="content" id="content" style="width:250px; height:100px;" rows="6" class="textarea"></textarea>
                </td>
            </tr>
            <!-- ============ 关键部分:添加验证码 ============ -->
            <tr>
                <td width="20%" bgcolor="#f9f9f9" align="right">验证码:</td>
                <td width="80%" bgcolor="#f9f9f9">
                    <input type="text" name="vdcode" id="vdcode" style="width:50px" class="text" />
                    <!-- 织梦验证码调用标签 -->
                    <img src="{dede:global.cfg_cmspath/}/include/vdimgck.php" width="60" height="24" style="cursor: pointer" onclick="this.src='{dede:global.cfg_cmspath/}/include/vdimgck.php?'+Math.random();" title="看不清?点击换一张" />
                </td>
            </tr>
            <!-- ============================================ -->
            <tr>
                <td bgcolor="#f9f9f9" align="right">&nbsp;</td>
                <td bgcolor="#f9f9f9">
                    <button type="submit" name="submit" class="btn">提交</button>
                </td>
            </tr>
        </table>
    </form>

    代码解释:

    • {dede:global.cfg_cmspath/}:这是织梦的全局变量,代表你的网站根目录,确保验证码图片能正确加载。
    • onclick="this.src='...?'+Math.random();":这是实现点击刷新验证码的JavaScript代码,Math.random() 用于确保每次点击都重新请求图片,避免浏览器缓存。
    • name="vdcode":这个 inputname 属性必须是 vdcode,织梦后台会自动识别它作为验证码输入框。
  5. 保存模板后,返回自定义表单列表,你会看到你创建的表单,点击对应的 【预览】 按钮,就可以在前台看到带有验证码的表单了。


手动在任意页面(如文章页、首页)添加表单

如果你想在织梦的任意页面(比如文章内容页、首页)添加一个独立的表单,而不是使用“自定义表单”功能,你需要手动创建模板文件,并处理表单提交逻辑。

织梦表单添加验证码
(图片来源网络,侵删)

步骤 1:创建表单模板文件

  1. 在你的织梦模板目录(通常是 /templets/你的默认模板/)下,创建一个新的HTML文件,lianxi.html

  2. 将下面的代码复制到 lianxi.html 文件中。

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>联系我们</title>
    </head>
    <body>
        <h2>联系我们</h2>
        <form action="/plus/diy.php" enctype="multipart/form-data" method="post" onsubmit="return checkForm()">
            <input type="hidden" name="action" value="post" />
            <input type="hidden" name="diyid" value="1" /> <!-- 这里的1需要替换成你后面要创建的自定义表单ID -->
            <input type="hidden" name="do" value="2" />
            <p>姓名:<input type="text" name="name" id="name" /></p>
            <p>电话:<input type="text" name="tel" id="tel" /></p>
            <p>留言:<textarea name="content" id="content"></textarea></p>
            <!-- 验证码部分 -->
            <p>
                验证码:<input type="text" name="vdcode" id="vdcode" style="width:80px;" />
                <img src="{dede:global.cfg_cmspath/}/include/vdimgck.php" onclick="this.src='{dede:global.cfg_cmspath/}/include/vdimgck.php?'+Math.random();" title="点击刷新" />
            </p>
            <p><input type="submit" name="submit" value="提交" /></p>
        </form>
        <script type="text/javascript">
            // 可选:简单的客户端验证
            function checkForm() {
                if (document.getElementById('name').value == '') {
                    alert('请输入姓名');
                    return false;
                }
                if (document.getElementById('content').value == '') {
                    alert('请输入留言内容');
                    return false;
                }
                // 验证码为空检查
                if (document.getElementById('vdcode').value == '') {
                    alert('请输入验证码');
                    return false;
                }
                return true;
            }
        </script>
    </body>
    </html>

步骤 2:在后台创建对应的自定义表单

  1. 按照方法一的 步骤 2,在后台创建一个“自定义表单”。
  2. 关键:记下这个表单的 ID,你创建的表单ID是 1
  3. 在你刚刚创建的 lianxi.html 模板文件中,找到 <input type="hidden" name="diyid" value="1" />,将其中的 value="1" 修改为你实际的表单ID。
  4. 确保后台的 【系统基本参数】 -> 【核心设置】 中的 “是否开启验证码” 已经设置为 “是”

步骤 3:创建栏目并关联模板

  1. 在后台 【栏目】 -> 【添加栏目】
  2. 栏目名称填写“联系我们”。
  3. 选择“使用自定义表单”。
  4. “自定义表单” 的下拉菜单中,选择你刚刚创建的那个表单(联系我们表单”)。
  5. “列表模板” 中,选择你创建的模板文件 lianxi.html
  6. 栏目选择一个合适的父栏目,然后提交。
  7. 前台访问这个新创建的栏目链接,你就能看到并使用这个带有验证码的表单了。

总结与常见问题

  • 验证码不显示?

    1. 检查后台 【系统基本参数】 -> 【核心设置】 中的 “是否开启验证码” 是否为“是”。
    2. 检查 /include/vdimgck.php 文件是否存在。
    3. 检查你的网站目录权限是否正确,确保 include 目录有可读权限。
    4. 清除浏览器缓存,或按 Ctrl + F5 强制刷新页面。
  • 提交后提示验证码错误?

    1. 确保输入的验证码与图片显示的一致(注意区分大小写,如果设置的是数字则不用区分)。
    2. 检查 inputname 属性是否为 vdcode
    3. 检查表单提交地址 action="/plus/diy.php" 是否正确。
  • 如何修改验证码样式? 你可以直接在模板中修改 <img> 标签的 style 属性,width="100" height="40" 来调整验证码图片的大小。

通过以上两种方法,你就可以轻松地为织梦CMS的表单添加验证码功能了。方法一适用于标准的表单需求,而方法二则更加灵活,可以嵌入到网站的任何位置。

-- 展开阅读全文 --
头像
dede图片注释标签怎么用?
« 上一篇 前天
织梦0day 鬼哥
下一篇 » 昨天

相关文章

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

目录[+]