各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > dedecms

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

管理员 2016-01-18
dedecms
92

使用织梦Dedecms自定义表单的时候,即使你做了字段的验证,也很有可能被人刷很多垃圾的内容,更加安全的一个方法是为自定义表单添加上验证码功能。今天我就来为大家分享一下怎样给自定义表单添加验证码!

一、添加表单验证码

首先登录网站后台,找到你自定义表单的管理(修改)页面,你会看到表单发布时调用的模板,如下图:

织梦自定义表单验证码

这个模板位于 /templets/plus/ 目录下,我们打开相应的模板,在

<?php	echo $postform;?>

之后,</table>之前加入如下代码:

<tr>  <td align="right" valign="top">验证码:</td>  <td><input id="vdcode" type="text" name="validate" style="text-transform:uppercase;"/><img id="vdimgck" align="absmiddle" onClick="this.src=this.src+'?'" style="cursor: pointer;" alt="看不清?点击更换" src="../include/vdimgck.php"/></td></tr>

保存。

然后刷新一下表单提交页面看看,是不是已经出现了验证码?

织梦自定义表单验证码

二、对输入验证码进行校验

下面我们要做的就是对验证码进行验证。打开 /puls/diy.php 页面,在elseif($do == 2){ 里添加如下代码(一定要位于这个大括号里的最前面):

elseif($do == 2){	$validate = empty($validate) ? '' : strtolower(trim($validate));	$svali = strtolower(GetCkVdValue());	$backurl = 'diy.php?action=post&diyid=1';	//这里换成你表单的地址	if($validate=='' || $validate != $svali){		ResetVdValue();		ShowMsg('验证码不正确!',$backurl,0,1000);		exit;	}

保存即可。再次刷新一下表单,提交测试下~~

提示:1. 把代码加到 diy.php 中,你所有的自定义表单模板都需要加上验证码,没加的会提示“验证码不正确”;当然,你也可以根据 $diyid 来设置是否进行验证码校验。2. 第二段代码中的 $backurl 可以直接写成 -1,这时候必须把ResetVdValue(); 去掉,否则会一直提示“验证码不正确”,因为 $backurl 写成 -1 时,表单返回上一个页面,验证码图片并没有刷新,而ResetVdValue(); 又会把已保存的验证码值清空,导致校验失败。 本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

扫码关注

qrcode

QQ交谈

回顶部