织梦自定义表单中增加验证码功能

  浏览次数:   来源:郑州网站制作  作者:郑州网站建设  标签:

内容摘要:通过给自定义表单加入验证码的功能,可以防止一些用户恶意提交。 1、先进入DedeCMS后台生成自定义表单。 2、在自定义表单模板中添加验证码代码,如下: 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; target=_blank域名地址如http://www.xxxx.com/a/a1/ } return false; } /script 在表单页面底部增加js脚本: script type=text/javascript language=javascript //验证码 function changeAuthCode() { var num = new Date().get

通过给自定义表单加入验证码的功能,可以防止一些用户恶意提交。

1、先进入DedeCMS后台生成自定义表单。

2、在自定义表单模板中添加验证码代码,如下:
 

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

这里input只要name和id对就可以,下面注意a标签不要加href,加了href一点会直接返回到页面顶部。

在表单页面底部增加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> 

3、改订单处理页面,打开网站根目录/plus/diy.php文件, 添加验证代码到第61行左右位置。在 $addvar = $addvalue = '' 下加入以下判断代码:

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;
}
}

或者参考以下代码,以下代码可以让页面以弹框来提示用户,并返回提交表单页面,用户体验让维度认为更友好一些:

if(!empty($dede_fields)){
$validate = empty( $validate ) ? '' : strtolower( trim( $validate ) );
$svali = strtolower( GetCkVdValue() );
if ( ( $validate == '' || $validate != $svali ) && preg_match( "/6/", $safe_gdopen ) ) {
ResetVdValue();
echo "<script>alert('未输入验证码或验证码不正确!'); history.go(-1)</script>";
exit;
}}


好了,这样表单的验证码功能就添加好了,去测试下吧

网站文章纠正或建议请致电:0371-86590010 或邮箱联系:136109548@qq.com