织梦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" id="vdcode" name=vdcode class="code"/>
<img id="vdimgck" align=absmiddle onclick="this.src=this.src+'?'" 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了
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
本文链接:http://www.yuyubebe.cn/2019/09/351/
发表评论