织梦dedecms自定义表单添加验证码功能

前面介绍了《制作织梦dedecms自定义表单以及调用表单的方法》,为了避免评论机器人之类的软件工具提交垃圾无用的信息,给织梦自定义表单添加验证码功能是非常有必要的。dedecms自定义表单默认没有验证码功能,但是站长可以通过修改程序源文件给表单添加自定义表单验证码。

操作步骤:

1、在网站安装目录下编辑plus/diy.php文件,找到代码:

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

2、在这句代码上面添加以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
//新增验证码
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); 
			echo '<script language="javascript">history.go(-1);</script>';
		} 
	}
//end

3、保存后,在表单代码里添加以下代码:

1
2
3
<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>

4、在网页底部</body>前添加以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
<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>

5、添加完成之后,重新生成页面就可以了。

发表留言