DEDECMS织梦自定义表单中必填项、电话邮箱过滤以及验证码规则
织梦自定义表单必填项规则--->(wwwshu-acca.com网站表单)
1. 在plus/diy.php 的第 40行下加如下代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
//增加必填字段判断 if ($required!= '' ){ if (preg_match( '/,/' , $required)){ $requireds = explode( ',' ,$required); foreach($requireds as $field){ if ($$field== '' ){ showMsg( '带*号的为必填内容,请正确填写' , '-1' ); exit(); } } } else { if ($required== '' ){ showMsg( '带*号的为必填内容,请正确填写' , '-1' ); exit(); } } } |
2.在模版的表单里加:
1
|
<input type= "hidden" name= "required" value= "name,qq,telephone" /> |
织梦自定义表单电话和邮箱验证
dedecms的自定义表单没有对提交的信息进行过滤,经常会有垃圾信息骚扰,
本站提供2条检测规则,是利用正则方法,可以检测手机号码和邮箱,
修改plus下的diy.php 再提交入库前插入下面代码即可,
其中的 $telphone和$email就是提交的手机号码和邮箱值名,如果不是我设定的可以自行修改。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
//判断手机号码是否正确 if (! eregi ( "^13[0-9]{9}|15[0-9]{9}$" , $telphone )) { showMsg( '手机号码不对,请正确填写' , '-1' ); exit (); } //验证邮箱 if (! eregi ( "^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$" , $email )) { showMsg( '请您填写正确的E-Mail 地址!' , '-1' ); exit (); } |
织梦自定义表单验证码
利用织梦内容管理系统(DedeCMS)自带提供的自定义表单功能即可满足大多数的此类需求。
通过给自定义表单加入验证码的功能,可以防止一些用户恶意提交。
-
1、先进入DedeCMS后台生成自定义表单。
-
2、在自定义表单模板中添加验证码代码,如下:
<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& gt;
-
3、在当前页添加JS代码,如下:
<script type="text/javascript" language="javascript">//验证 码 function changeAuthCode(){var num =newDate().getTime();varrand= Math.round(Math.random()*10000); num = num +rand; $('#ver_code').css('visibility','visible');if($("#vdimgck")[0]){ $("#vdimgck")[0].src ="../include/vdimgck.php?tag="+ num;}returnfalse;}</script>
-
4、修改订单处理页面,打开网站根目录/plus/diy.php文件, 添加验证代码到第61行左右位置。如下:
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');exit;}}