前面介绍了《制作织梦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、添加完成之后,重新生成页面就可以了。