DedeCMS提交自定义表单加入验证码功能
织梦dedecms网站给自定义表单加dede模板自带验证码的方法。
有时候,我们因为需要给dede网站的自定义表单添加验证码,防止恶意填写表单提交。
我们可以用以下的方法来实现:
首先,我们要找到 /plus/diy.php 这个文件
在头部引入文件:
require_once(DEDEINC.'/membermodel.cls.php');
然后找到
elseif($do == 2) { 在这个地方加入代码块 //验证码验证 $svali = GetCkVdValue(); if(preg_match("/1/",$safe_gdopen)){ if(strtolower($vdcode)!=$svali || $svali=='') { ResetVdValue(); ShowMsg('验证码错误!', '-1'); exit(); } }
修改好后保存一下文件。
第二步:在使用验证码的自定义表单静态页面中插入代码块
<input type="text" class="intxt w200" style="width: 50px; text-transform: uppercase;" id="vdcode" name="vdcode" class="code"/>
<img id="vdimgck" align="absmiddle" onclick="this.src=this.src+'?'" style="cursor: pointer;" alt="看不清?点击更换" src="/include/vdimgck.php"/> 看不清?
在这个静态页面里还得引用JQuery
再加入 JS代码块
<script type="text/javascript"> $ = jQuery; 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>
好了,现在试一试,是不是可以实现验证码的提交了?一个简单的dedecms自定义表单dede模板自带验证码的功能就实现了
一般会遇到一个第172行错误,是因为少了一个“}“只需要在172行加一个就OK了