php用戶輸入fiter函數(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.如果是必填項
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 !"];
}
}
}
//如果有驗證失敗的,拋出異常。
if (false === $val) {
return [false,"參數(shù) $key 格式非法!"];
}
return [true,"驗證通過"];
}
//每個model里,都寫個checkParam函數(shù),用來配置驗證的規(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) ;
}
//比如這個是輸入的參數(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小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享名稱:php用戶輸入fiter函數(shù)的校驗-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://chinadenli.net/article2/psgoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、標(biāo)簽優(yōu)化、Google、品牌網(wǎng)站制作、定制開發(fā)、網(wǎng)站設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容