dede自定义表单加入验证码问题修正

dede自定义表单加入验证码网上的方法很多,但是我试了试大多都是不行的,很误导使用者。

如:

http://jingyan.baidu.com/article/d169e1868b700f436611d886.html

 

http://hi.baidu.com/wmkill/item/def3b24cc494e106896d10e1

 

这样的版本其实是不行的,应该是适合老版本,反正现在5.7最后更新4月份的dede版本是不行的。

王健已经把正确方法简化,方法如下:

 

1.改:/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();

             }  

         }

 

 

2.改表单提交模板文件

加上:

 

<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"/>

 

再加上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>