• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    给织梦dedecms自定义表单加上验证码功能
    POST TIME:2018-03-15 21:14

    在做企业的网站时,通常会有个留言板表单功能,用户提交信息和需求到后台的功能,那就不能用多说了,用自定义表单轻松搞定。虽然玩DEDE没折腾WP这么有乐趣,不过有时候发现某个功能还是挺有成就感的。

    比如你要加个留言板或者报名之类的表单,用这个还是挺方便的,只是有点小麻烦的。

    方法/步骤

    找到后台-核心-频道模型-自定义表单

    然后点击增加新的自定义表单

    diyid 这个,不管他,默认就好

    自定义表单名称 这个的话,比如你要加个留言板还是投诉建议?写上去呗

    数据表 这个不要碰,默认就行

    列表模板、内容模板、发布模板这些,不管他,因为我们根本不需要...

    前台列表和内容页公开? 这个选择 完全公开或者公开审核过的,反正我们只要到后台能看到别人的留言,不需要审核的,前台反正也不调用的。后面的不公开,如果你勾上了....那就没下一步了,不信你可以点确定后试试

    点确定创建好表单后,就点击那个修改图标,看下图

    进去后就是要添加字段了,比如要个姓名,电话,留言内容啥的,点击上图的图标进入

    如此这般,把昵称、电话、留言内容这些表单添加了之后,点确定,再然后添加完字段之后,表单也就完成了,所以,在这里点击前台预览。注意,如果在上上上步你那里是选中内容不公开,那这里也就不能浏览了。

    点击前台预览后,会出来以下的页面,这不是重点,点击右上角的发布信息

    出来了一个页面,这也不是重点,我们也不需要用这页面,我们只要这页面的表单代码,对不对?所以,在这里右键-查看源代码,然后因为表单是form,如果你不懂代码没关系,只要复制<form>这个代码之内的内容,粘贴到你需要显示的地方。

    然后你要做的就是改样式了,表格特不爽有么有?于是用li标签来替换。我的修改后是如下图

    给DEDE自定义表单添加验证码功能

    你会发现,直接复制form表单里面的代码,会没有验证码....不管怎么说,验证码这玩意还是必须得添加的。

    打开根目录下 /plus/diy.php 文件,然后在第61行,呃,如果没有显示行,那就查找

    $fieldarr = explode(';', $dede_fields);

    在这一句的前面添加下面的代码

    if(!emptyempty($dede_fields))

    {

    $validate = emptyempty($validate) ? '' : strtolower(trim($validate)); $svali = strtolower(GetCkVdValue());

    if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)){ ResetVdValue();

    ShowMsg('验证码不正确!',$dede_add,0,1000);

    exit;

    }

    }

    保存之后,还要在模板你添加表单的页面添加下面的代码,这个代码是显示验证码跟输入验证码的,放在表单里面

    <input name="validate" type="text" id="vdcode" style="text-transform:uppercase;" size="8"/>

    <img id="vdimgck" align="absmiddle" onClick="this.src=this.src+'?'" style="cursor: pointer;" alt="看不清?点击更换" src="../include/vdimgck.php"/>

    <a href="javascript:vide(-1);" onClick="changeAuthCode();">看不清? </a>

    添加完之后,还要在本页面添加JQ代码,以下代码可以放在网页底部

    <script type="text/javascript" language="javascript">

    //验证码

    function changeAuthCode() {

    var num = new Date().getTime();

    var rand = Math.round(Math.random() * 10000);

    num = num + rand;

    $('#ver_code').css('visibility','visible');

    if ($("#vdimgck")[0]) {

    $("#vdimgck")[0].src = "../include/vdimgck.php?tag=" + num;

    }

    return false;

    }

    </script>


    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!