php用戶輸入fiter函數(shù)的校驗(yàn)-創(chuàng)新互聯(lián)

php用戶輸入fiter函數(shù)的校驗(yàn):

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比武陟網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式武陟網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋武陟地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。

代碼如下:

<?php

header("Content-type: text/html; charset=utf-8");

  function filter_param($paramArr, $filterArr)

  {

    $res = filter_var_array($paramArr, $filterArr);   //參數(shù)不合法-flase, 沒傳參數(shù)-null

    foreach ($res as $key=>$val) {

      //再判斷未傳的參數(shù)。

      if (is_null($val)) {

        //1.如果是必填項(xiàng)

        if ($filterArr[$key]['required']) {

          if (isset($filterArr[$key]['options']['default'])) {

            //1.1如果有default值,則設(shè)置為default值。

            $res[$key] = $filterArr[$key]['options']['default'];

          } else {

            //1.2如果沒有default值,拋出異常。

            return [false,"參數(shù) $key 為必填!"];

          }

        } else {

          //$res[$key]='';    //這里是默認(rèn)把null值改為空值。是否有必要?

           return [false,"缺少參數(shù) $key !"];

        }

      }

    }

    //如果有驗(yàn)證失敗的,拋出異常。

    if (false === $val) {

      return [false,"參數(shù) $key 格式非法!"];

    }

    return [true,"驗(yàn)證通過"];

  }

//每個(gè)model里,都寫個(gè)checkParam函數(shù),用來配置驗(yàn)證的規(guī)則。

function checkParam($arrInput)

{

  //1.先檢查catId

  $filter = array(

      //數(shù)字類型的,必填。只允許 0-1。

    "catId" => array(

      "required"=>1,

      "filter"=>FILTER_VALIDATE_INT,

      "options"=>array(

        "min_range" =>0,

        "max_range" =>1,

      )

    ),

      //字符串類型的,必填。長度大于1。

    "title" => array(

      "required"=>1,

      "filter"=>FILTER_VALIDATE_REGEXP,

      "options"=>array(

        "regexp" =>"/^.+/",

      )

    ),

      //字符串類型的,非必填。但要是填了的話,則格式必須為email。

    "email" => array(

      "filter"=>FILTER_VALIDATE_EMAIL,

    ),

    "ip" => array(

      "filter"=>FILTER_VALIDATE_IP,

    ),

  );

  return  filter_param($arrInput, $filter) ;

}

 //比如這個(gè)是輸入的參數(shù)??梢栽囍薷倪@里看看效果。

 $arrInput=array(

  'catId'=>1,

  'title'=>'xx',

  'ip'=>'xxxxxx.com',

  'email'=>'xxxxxx.com',

 );

 //去掉字符串空格

 preg_replace("/\s/", "", $val);

  $res = checkParam($arrInput);

  echo  $res[1];

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享名稱:php用戶輸入fiter函數(shù)的校驗(yàn)-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://muchs.cn/article2/psgoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、標(biāo)簽優(yōu)化、Google、品牌網(wǎng)站制作、定制開發(fā)、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)