php用户输入fiter函数的校验-创新互联
php用户输入fiter函数的校验:
创新互联-专业网站定制、快速模板网站建设、高性价比武陟网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式武陟网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖武陟地区。费用合理售后完善,十年实体公司更值得信赖。代码如下:
header("Content-type: text/html; charset=utf-8");
function filter_param($paramArr, $filterArr)
{
$res = filter_var_array($paramArr, $filterArr); //参数不合法-flase, 没传参数-null
foreach ($res as $key=>$val) {
//再判断未传的参数。
if (is_null($val)) {
//1.如果是必填项
if ($filterArr[$key]['required']) {
if (isset($filterArr[$key]['options']['default'])) {
//1.1如果有default值,则设置为default值。
$res[$key] = $filterArr[$key]['options']['default'];
} else {
//1.2如果没有default值,抛出异常。
return [false,"参数 $key 为必填!"];
}
} else {
//$res[$key]=''; //这里是默认把null值改为空值。是否有必要?
return [false,"缺少参数 $key !"];
}
}
}
//如果有验证失败的,抛出异常。
if (false === $val) {
return [false,"参数 $key 格式非法!"];
}
return [true,"验证通过"];
}
//每个model里,都写个checkParam函数,用来配置验证的规则。
function checkParam($arrInput)
{
//1.先检查catId
$filter = array(
//数字类型的,必填。只允许 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) ;
}
//比如这个是输入的参数。可以试着修改这里看看效果。
$arrInput=array(
'catId'=>1,
'title'=>'xx',
'ip'=>'xxxxxx.com',
'email'=>'xxxxxx.com',
);
//去掉字符串空格
preg_replace("/\s/", "", $val);
$res = checkParam($arrInput);
echo $res[1];
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享名称:php用户输入fiter函数的校验-创新互联
链接分享:http://pwwzsj.com/article/psgoc.html