dedecms防止恶意提交表单设置判断必填项

softyun3年前cms教程42

织梦 dedecms为防止随意提交表单,我们可以在自定义表单设置必填项的功能,主要有两种方法进行处理:1.用默认的/plus/diy.php增加必填判断
       大约在40行左右添加代码:

//增加必填字段判断 
if($required!=''){ 
if(preg_match('/,/', $required)) 
   { 
       $requireds = explode(',',$required); 
       foreach($requireds as $field){ 
           if($$field==''){ 
               showMsg('带*号的为必填内容,请正确填写', '-1'); 
               exit(); 
           } 
       } 
   }else{ 
       if($required==''){ 
           showMsg('带*号的为必填内容,请正确填写', '-1'); 
           exit(); 
       } 
   } 

//end 
       在自定义表单模板加入以下代码 value="自定义字段"

<input type="hidden" name="required" value="content,name,tel" /> 
2.用JS判断
红色部分为自定义字段

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

<form action="/plus/diy.php" enctype="multipart/form-data" method="post"> 
    <input type="hidden" name="action" value="post" /> 
    <input type="hidden" name="diyid" value="1" /> 
    <input type="hidden" name="do" value="2" /> 
    <div class="tuancon"> 
     <h3>重庆装修团购申请,立省5000元</h3> 
     <div class="tuancon_L"> 
      <p><label>我的称呼<em>*</em></label><input class="form1" type="text" name="name" id="name"/></p> 
      <p><label>我的小区<em>*</em></label><input class="form1" type="text" name="xq" id="xq"/></p> 
      <p><label>联系电话<em>*</em></label><input class="form1" type="text" name="phone" id="phone"/></p> 
      <p><label>Q       Q  </label><input class="form1" type="text" name="qq" id="qq"/></p> 
     </div> 
     <div class="tuancon_R"> 
      <p><label>户型面积<em>*</em></label><input class="form1" type="text" name="mj" id="mj"/></p> 
      <p><label>卫生间数</label> 
         <select name='wc'> 
          <option value='1个'>1个</option> 
          <option value='2个'>2个</option> 
          <option value='2个以上'>2个以上</option> 
         </select> 
      </p> 
      <p><label>阳台面积</label><input class="form1" type="text" name="ytmj" id="ytmj"/></p> 
      <p><label>喜欢风格</label> 
        <select name='fg'> 
         <option value='现代简约风格'>现代简约风格</option> 
         <option value='地中海风格'>地中海风格</option> 
         <option value='简欧风格'>简欧风格</option> 
         <option value='欧式风格'>欧式风格</option> 
         <option value='中式风格'>中式风格</option> 
         <option value='美式风格'>美式风格</option> 
         <option value='后现代风格'>后现代风格</option> 
         <option value='新古典风格'>新古典风格</option> 
         <option value='其他风格'>其他风格</option> 
        </select> 
       </p> 
      </div> 
      <div class="clear"></div> 
      <div class="sheng_box"><input class="btn1" type="submit" value="免费申请装修"/></div> 
      <input type="hidden" name="dede_fields" value="xq,text;fg,select;name,text;phone,text;mj,float;qq,int;wc,select;ytmj,int" /> 
      <input type="hidden" name="dede_fieldshash" value="c53edcf88ed9787e2fe3266b16e2778a" /> 
     </div> 
    </form> 

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

[经验]dede全站RSS订阅静态输出的办法

给大家分享一下实现DedeCMS Rss全站静态输出的方法,大家可以去尝试一下。一、在CMS根目录下,新增rss.php文件,文件代码如下:PHP代码      <?php     requir...

织梦网站系统添加迅雷专用链接(视频教程)

视频观看地址:jswz/code/987内容代码/templets/system/channel/channel_downlinks.htm文件<script language="javascr...

不在同一个服务器里的dede数据库之间数据调用方法

织梦dedecms数据库不在同一个服务器,数据调用方法!data/common.inc.php这个是保存数据库连接信息的,改下这个文件就可以了。<?php  //数据库连接信息  $cfg_db...

DEDECMS 5.X版本新人热点问题及解决方法

FAQ1:安装或者使用DedeCMS的时候出现报错“DedeCms错误警告:连接数据库失败,可能数据库密码不对或数据库服务器出错,如未安装本系统,请先运行安装程序,如果已经安装,请检查MySQL服务或...

dedecms在plus目录调用当前模板head.htm,footer.htm方法

在织梦dedecms的plus文件夹里面有许多常用的模板的头部和尾部都是单独的写的,最简单的方法就是把默认模板的head.htm和footer.htm复制过来就行了,只是每次修改后又要再复制一次,为了...

DedeCMS常用必备SQL语句整理

本文整理了一些DEDECMS常用必备的SQL语句,希望对大家有所帮助.在DedeCMS V5.3系统中,我们很多地方需要用到SQL语句,例如批量修改 替换内容、数据内容调用等,在系统模板中有一个专门用...