欢迎访问士人网络天水网站建设专业服务平台
网站地图 | 联系我们
天水士人网络
天水网络公司电话
当前位置:主页 > 网站建设 > 建站知识 >

织梦系统如何给自定义表单加验证码

时间:2014-06-27 | 来源:www.eshiren.com | 作者:云横心际间 | 点击: 315 次
  织梦系统有个自定义表单功能,这个功能默认状况是没有验证码进行表单验证的。这样的自定义表单有两个缺点,一是没有填写任何数据就能提交表单;二是容易被一些注册机恶意提交形成垃圾信息。如何解决这一问题,最好的办法就是给这个自定义表单添加一个验证码。如何给织梦系统(dedecms)自定义表单添加验证码呢?我们不妨按照以下步骤进行操作:
 
  第一步、先进入织梦系统后台,先生成一个自定义表单。(如何生成自定义表单,以及如何把自定义表单放置到自定义表单模板中,请参照相关教程)
 
  第二步、在自定义表单模板中添加验证码代码,如下:
 
 <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>
 
  第三步、在当前页添加JS代码,如下:
 
<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>
 
  第四步、修改订单处理页面,打开网站根目录/plus/diy.php文件, 添加验证代码到第61行左右位置。如下:
 
 if(!empty($dede_fields))
       {
        $validate = empty($validate) ? '' : strtolower(trim($validate));            $svali = strtolower(GetCkVdValue());            
                if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)){                ResetVdValue();
                ShowMsg('验证码不正确!',$dede_add,0,1000);
                exit;
            }

  还有一个地方值得注意,就是最后面的 ShowMsg('验证码不正确!',$dede_add,0,1000); 这一部分,很多相关教程都这样写,但如果这样写,如果填写不正确的验证码弹出错误提示后无法返回到提交页面。因此把 $dede_add,0,1000 '-1' 替换掉即可。