自定义表单通常用来做在线留言、报名系统等,很方便,但默认状态下自定义表单是没有验证码的,这种情况就有可能发生恶意留言,产生垃圾。
解决的方法就是给自定义表单添加验证码,方法如下:
1、创建自己的自定义表单。
2、修改代码文件,详细步骤如下:
(1)打开 empletspluspost_diyform.htm(模板页),在要添加验证码的地方输入以下代码:
- <!--验证码-->
- <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>
- <!--/验证码-->
(2)完成第一步后,还要在本页面添加JQ代码,以下代码可以放在网页底部
- <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行,呃,如果没有显示行,那就查找
$fieldarr = explode(';', $dede_fields);
在这一句的前面添加下面的代码
- if(!emptyempty($dede_fields))
- {
- $validate = emptyempty($validate) ? '' : strtolower(trim($validate));
- $svali = strtolower(GetCkVdValue());
- if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)){
- ResetVdValue();
- ShowMsg('验证码不正确!',$dede_add,0,1000);
- exit;
- }
- }
通过以上几步即可为织梦自定义表单添加验证码。
收藏
发表评论 快来秀出你的观点