您好!欢迎光临锦程网络有限公司官方网站!

Dedecms防止恶意提交自定义表单设置必填项

网站建设 全景制作 微信小程序开发 微信公众号开发 VR全景网站开发 网络推广 网站托管 全网营销 咨询留言 更多资讯 Keyword Tags pv:0

许多企业网站会有提交订单的功能,dedecms自定义表单制作就能满足,为了防止用户恶意提交表单,可以在自定义表单的字段设置必填项或者判断输入的值是否符合规定的功能,主要有两种方法处理:修改表单源文件(不灵活,一个网站有可能提交多个表单);JS判断输入值(推荐)。

用默认的/plus/diy.php增加必填判断

       大约在40行左右找到如下代码,

1 $dede_fields = empty($dede_fields) ? '' : trim($dede_fields);

后面添加添加代码:

01 //增加必填字段判断
02 if($required!=''){
03 if(preg_match('/,/', $required))
04    {
05        $requireds = explode(',',$required);
06        foreach($requireds as $field){
07            if($$field==''){
08                showMsg('带*号的为必填内容,请正确填写''-1');
09                exit();
10            }
11        }
12    }else{
13        if($required==''){
14            showMsg('带*号的为必填内容,请正确填写''-1');
15            exit();
16        }
17    }
18 }
19 //end

       在自定义表单模板找到

1 <form action="/plus/diy.php" enctype="multipart/form-data" method="post">

       下面加入以下代码(value="自定义字段")

1 <input type="hidden" name="required" value="content,name,tel" />

用JS判断

红色部分为自定义字段,把以下代码放在</head>之前,

01 <script type='text/javascript'>
02 <!--
03 $(document).ready(function()
04 {
05 //验证
06 $('#complain').submit(function ()
07 {
08 if($('#name').val()==""){
09 $('#name').focus();
10 alert("用户名不能为空!");
11 return false;
12 }
13 if($('#tel').val()=="")
14 {
15 $('#tel').focus();
16 alert("联系电话不能为空!");
17 return false;
18 }
19 if($('#title').val()=="")
20 {
21 $('#title').focus();
22 alert("标题不能为空!");
23 return false;
24 }
25 if($('#text').val()=="")
26 {
27 $('#text').focus();
28 alert("具体内容不能为空!");
29 return false;
30 }
31 })
32 });
33 -->
34 </script>

      上面只能判断数值是否为空,结合正则表达式,能准确判断输入的表单信息是否为规定格式数据。举例说明:

01 <script type="text/javascript">
02   $(function(){
03   $(".btn").click(function(){
04   var myNum=/^[\u4e00-\u9fa5]+$/;
05  if(myNum.test($("#name").val())){}else{alert("请输入中文名字");return false;};
06   var myNum=/^[\u4e00-\u9fa5]+$/;
07  if(myNum.test($("#xq").val())){}else{alert("请输入小区中文名字");return false;};
08   var mymj=/^([1-9][0-9]{1,3})+(.[0-9]{1,4})?$/
09  if(mymj.test($("#mj").val())){}
10  else{alert("户型面积请输入首位不为零并且在2-4位的有效数字有效数字");return false;};
11   var myphone=/^\d{8,11}$/
12  if(myphone.test($("#phone").val())){}
13  else{alert("电话位数在8-11位");return false;};
14  if($("input[type=text]").val()==''){alert("文本框不能为空!");return false;}
15  else {alert("发布成功!请保持电话畅通!客服人员会在24小时之内与您联系!");return true;}});});
16 </script>

前台部分实例

01 <form action="/plus/diy.php" enctype="multipart/form-data" method="post">
02     <input type="hidden" name="action" value="post" />
03     <input type="hidden" name="diyid" value="1" />
04     <input type="hidden" name="do" value="2" />
05     <p class="tuancon">
06      <h3>重庆装修团购申请,立省5000元</h3>
07      <p class="tuancon_L">
08       <p><label>我的称呼<em>*</em></label><input class="form1" type="text" name="name" id="name"/></p>
09       <p><label>我的小区<em>*</em></label><input class="form1" type="text" name="xq" id="xq"/></p>
10       <p><label>联系电话<em>*</em></label><input class="form1" type="text" name="phone" id="phone"/></p>
11       <p><label>Q       Q  </label><input class="form1" type="text" name="qq" id="qq"/></p>
12      </p>
13      <p class="tuancon_R">
14       <p><label>户型面积<em>*</em></label><input class="form1" type="text" name="mj" id="mj"/></p>
15       <p><label>卫生间数</label>
16          <select name='wc'>
17           <option value='1个'>1个</option>
18           <option value='2个'>2个</option>
19           <option value='2个以上'>2个以上</option>
20          </select>
21       </p>
22       <p><label>阳台面积</label><input class="form1" type="text" name="ytmj" id="ytmj"/></p>
23       <p><label>喜欢风格</label>
24         <select name='fg'>
25          <option value='现代简约风格'>现代简约风格</option>
26          <option value='地中海风格'>地中海风格</option>
27          <option value='简欧风格'>简欧风格</option>
28          <option value='欧式风格'>欧式风格</option>
29          <option value='中式风格'>中式风格</option>
30          <option value='美式风格'>美式风格</option>
31          <option value='后现代风格'>后现代风格</option>
32          <option value='新古典风格'>新古典风格</option>
33          <option value='其他风格'>其他风格</option>
34         </select>
35        </p>
36       </p>
37       <p class="clear"></p>
38       <p class="sheng_box"><input class="btn1" type="submit" value="免费申请装修"/></p>
39       <input type="hidden" name="dede_fields" value="xq,text;fg,select;name,text;phone,text;mj,float;qq,int;wc,select;ytmj,int" />
40       <input type="hidden" name="dede_fieldshash" value="c53edcf88ed9787e2fe3266b16e2778a" />
41      </p>
42     </form>

 

相关TAG标签防止恶意提交自定义表单设置必填项
【建站推广资讯】
查看更多>

锦程网络有限公司主营业务介绍

咨询/留言

CONTACT US

欢迎联系我们,专业的建站推广及全景制作精英团队将竭诚为您服务!

Welcome to contact us,Top of the site promotion and panorama production expert team look forward to working with you!
*姓名:
*电话:
*公司:
*业务:
*留言:
  • 惠州公司
  • 广州公司
  • 郑州公司
  • 惠州分部
地址:
广东省惠州市惠城区下角中路29号A栋804室
电话:
0752-2212105
手机(微信同号):15113200896
邮箱:
sales@jc720.net、476418796@qq.com
网址:
① www.jc720.net  ‖  ② www.e6888.com.cn
客服QQ» 关于我们» 联系我们»
地址:
广东省广州市天河区天河路238号华龙大厦2806室
电话:
18588694186
邮箱:
sales@jc720.net
网址:
① www.jc720.net  ‖  ② www.e6888.com.cn
客服QQ» 关于我们» 联系我们»
地址:
河南省郑州市金水区健康路159号发展大厦1918室
电话:
18588694186
邮箱:
sales@jc720.net
网址:
① www.jc720.net  ‖  ② www.e6888.com.cn
客服QQ» 关于我们» 联系我们»
地址:
惠州市惠城区下角祝屋一巷三号之三103室
电话:
0752-2212105
手机(微信同号):15113200896
邮箱:
sales@jc720.net、476418796@qq.com
网址:
① www.jc720.net  ‖  ② www.e6888.com.cn
客服QQ» 关于我们» 联系我们»