dedecms自定义表单加验证码

一,在后台左侧点击核心-》自定义表单-》增加新的自定义表单,按照提示填写信息,保存出来再点击编辑进去添加字段

二,自定义表单的调用,网上有调用方法,可是测试没成功,我就用自己的方法吧,点击表单的预览-》发布信息,会看到表单的模板,然后鼠标右键查看源代码,找到表单的代码,把关键的代码复制出来,就可以变成前端想要的表单了。

三,一般表单都需要验证字段和防止恶意提交

1)验证字段:

找到项目根目录下的plus/diy.php,在59行有个if(!empty($dede_fields))这个判断里面就可以添加我们验证字段的代码了,示例:

/*验证表单字段*/

                 if ($nickname == '') {  //昵称不能为空

                    ShowMsg('昵称不能为空','-1',0,1000);  

               exit;               

                 } elseif (!preg_match("/^1[34578]\d{9}$/", $clientele_tell) ){

                    ShowMsg('请输入正确的手机号','-1',0,1000);  

               exit;

                 } elseif (!is_numeric($clientele_qq) ) {

                    ShowMsg('请输入正确的QQ','-1',0,1000);  

               exit;

                 } elseif ( empty($message) ) {

                    ShowMsg('留言不能为空','-1',0,1000);  

               exit;

                 }

2)验证码:

在前端验证码的地方添加代码:

 

<inputname="validate" type="text" id="vdcode"style="text-transform:uppercase;width:100px" size="8"/>

<imgid="vdimgck" align="absmiddle"onClick="this.src=this.src+'?'" style="cursor: pointer;"alt="看不清?点击更换"src="../include/vdimgck.php"/>

再找到项目根目录下的plus/diy.php,在59行有个if(!empty($dede_fields))这个判断里面添加如下代码:

/*添加验证码*/

                 $validate = empty($validate) ?'' : strtolower(trim($validate));           

                 $svali =strtolower(GetCkVdValue());           

                 if(($validate=='' || $validate!= $svali) && preg_match("/6/",$safe_gdopen)){                

                 ResetVdValue();               

                 ShowMsg('验证码不正确!','-1',0,1000);               

                 exit;

                 }

发现一个问题,在dedecms中自定义表单中字段英文名和系统中新添加的变量的英文名如果是一样的话,就会影响到表单中字段的提交,提交的表单中该字段的值是系统中新添加变量的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值