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>

  • 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;}}

   

 

你可能感兴趣的:(dedecms)