为织梦自定义表单添加验证码的方法

时间:2021-11-24
类别:教程 - CMS教程

自定义表单通常用来做在线留言、报名系统等,很方便,但默认状态下自定义表单是没有验证码的,这种情况就有可能发生恶意留言,产生垃圾。

解决的方法就是给自定义表单添加验证码,方法如下:

1、创建自己的自定义表单。

2、修改代码文件,详细步骤如下:

(1)打开 empletspluspost_diyform.htm(模板页),在要添加验证码的地方输入以下代码:

  1. <!--验证码--> 
  2.  
  3. <input  name="validate" type="text" id="vdcode" style="text-transform:uppercase;"  size="8"/> 
  4.  
  5. <img id="vdimgck" align="absmiddle"  onClick="this.src=this.src+'?'" style="cursor: pointer;" alt="看不清?点击更换"  src="../include/vdimgck.php"/> 
  6.  
  7. <a href="javascript:vide(-1);"  onClick="changeAuthCode();">看不清?  </a> 
  8.  
  9. <!--/验证码--> 

(2)完成第一步后,还要在本页面添加JQ代码,以下代码可以放在网页底部

  1. <script  type="text/javascript" language="javascript"
  2.  
  3. //验证码    
  4.  
  5. function  changeAuthCode() {    
  6.  
  7. var num =     new Date().getTime();  
  8.  
  9. var rand  = Math.round(Math.random() * 10000);  
  10.  
  11. num = num + rand;  
  12.  
  13. $('#ver_code').css('visibility','visible');  
  14.  
  15. if ($("#vdimgck")[0])  {  
  16.  
  17.    $("#vdimgck")[0].src = "../include/vdimgck.php?tag=" + num;  
  18.  
  19. }  
  20.  
  21. return false;      
  22.  
  23. }  
  24.  
  25. </script>   

(3)再修改的页面是 /plus/diy.php 文件,然后在第61行,呃,如果没有显示行,那就查找

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

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

  1. if(!emptyempty($dede_fields))  
  2.  
  3.    {  
  4.  
  5.    $validate = emptyempty($validate) ? '' : strtolower(trim($validate));  
  6.  
  7.        $svali = strtolower(GetCkVdValue());  
  8.  
  9.            if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)){ 
  10.  
  11.             ResetVdValue();  
  12.  
  13.             ShowMsg('验证码不正确!',$dede_add,0,1000);  
  14.  
  15.            exit;  
  16.  
  17.         }  
  18.  
  19.    } 

通过以上几步即可为织梦自定义表单添加验证码。

    收藏

    发表评论 快来秀出你的观点