有时候,我们因为需要给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了。
新闻热点
疑难解答