??
PHP ??? ??????
PHP ??? ???? ?? ??? ???? ???? ????? ? ?????.
??? ?? ?? ?? ???? ????? ???? ????? ?? ?? ? ???????? ??? ?????.
PHP? ?? ??? ??? ???? ? ?? ??? ? ? ??? ???????.
??? ???? ??? ??????
?? ?? ? ??????? ?? ??? ?????. ? ???? ????? ??? ?? ?? ??????(?: ? ???)?? ?????. ??? ???? ??????? ??? ?? ??? ??? ? ? ????.
?? ???? ?? ????? ???!
?? ???? ?? ??? ?????? ?? ?? ? ?????.
?? ???? ?????? ??? ?? ??? ?????? ?? ??
?? ? ????? ?????? ?? ?? ?? ? ??? ?????. ?? >
· filter_var() - ??? ??? ?? ?? ?? ??? · filter_var_array() - ????? ?? ??? ?? ?? ?? ???
·????????? filter_input - ?? ???? ??? ?????
·??????? filter_input_array - ?? ?? ??? ??? ????? ?? ??? ?????? ?? ???? filter_var() ??? ???? ??? ?????.
<?php $int = 123; if(!filter_var($int, FILTER_VALIDATE_INT)) { echo("不是一個合法的整數(shù)"); } else { echo("是個合法的整數(shù)"); } ?>
? ??? "FILTER_VALIDATE_INT" ??? ???? ??? ??????. ? ??? ????? ? ??? ??? ?????:
??? ?? ??(?: "123abc")? ????? ?? ??? ?????: " ??? ???? ????." ?? ? ??? ?? ??? ??? PHP ?? ?? ???? ?????.?? ? ??
? ?? ??? ????.
· ???? ?? ??? ????, ???? FALSE? ?????.
??? ?? ?? :
· ???
?? ??? ??? ????? ???? ? ?????.· ??? ?? ?? ?? ??
· ?? ???? ?????.
?? ? ???
??? ???? ???? ? ?????. ??? ?? ??? ??? ?????.
???? ??? ???? ????.
?? ???? "min_range" ? "max_range" ??? ?? filter_var()? ???? ??? ???? ?????.
<?php $var=300; $int_options = array( "options"=>array ( "min_range"=>0, "max_range"=>256 ) ); if(!filter_var($var, FILTER_VALIDATE_INT, $int_options)) { echo("不是一個合法的整數(shù)"); } else { echo("是個合法的整數(shù)"); } ?>
?? ??? ????? ??? ???? ???. "??"??? ?? ??? ????. ???? ???? ?? ??? ?? ??? ????.
??? "300"??? ??? ?? ?? ?? ???? ? ??? ??? ??? ????.
?(?) ??? ??? ????.
??? ?? ??? ?? ??? ??? PHP ?? ?? ???? ?????. ? ??? ?? ??? ??? ???? ? ? ????.
?? ??? ??
??? ?? ???? ??? ?????.
?? ?? ?? ? ?? ?? ?? ?? ???? ????? ???? ????.
?? ?? filter_input() ??? ???? ?? ???? ??????.
?? ???? ?? ?? "email"? PHP ???? ?????.
<?php if(!filter_has_var(INPUT_GET, "email")) { echo("沒有 email 參數(shù)"); } else { if (!filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL)) { echo "不是一個合法的 E-Mail"; } else { echo "是一個合法的 E-Mail"; } } ?>
? ?? ??? ??? ??? ????.
?? ??
?? ?? ?? ??(???)? "GET" ???:
1. "GET" ??? "email" ?? ??? ??? ??
2. ?? ??? ??? ??? e?? ?????. -?? ??
?? ??
???? ??? URL? ??? ?????. .
?? ??? ?? ?? ?? ???? ????? ???? ????.
?? ?? filter_input() ??? ???? ?? ???? ?????.
?? ???? ?? ?? "url"? PHP ???? ?????.
<?php if(!filter_has_var(INPUT_GET, "url")) { echo("沒有 url 參數(shù)"); } else { $url = filter_input(INPUT_GET, "url", FILTER_SANITIZE_URL); echo $url; } ?>
?? ??
? ??? "GET" ???? ????. ??? ?? ??(url):
1. "GET" ??? "url" ?? ??? ??? ??
2. ? ?? ??? ???? ?? ?? ?????(?? ?? ??). , $url ??? ?????.
?? ??? "http://www.miracleart.cn /"? ??? ???? ?? ??? $url ??? ??? ????.
?? ?? ???
??? ????? ?? ?? ??? ?????. filter_var ?? filter_input ??? ?? ?? ??? ????? filter_var_array ?? filter_input_array ??? ??? ? ????.
? ???? filter_input_array() ??? ???? ? ?? GET ??? ??????. ??? GET ??? ??, ??, ??? ?????:
<?php $filters = array ( "name" => array ( "filter"=>FILTER_SANITIZE_STRING ), "age" => array ( "filter"=>FILTER_VALIDATE_INT, "options"=>array ( "min_range"=>1, "max_range"=>120 ) ), "email"=> FILTER_VALIDATE_EMAIL ); $result = filter_input_array(INPUT_GET, $filters); if (!$result["age"]) { echo("年齡必須在 1 到 120 之間。<br>"); } elseif(!$result["email"]) { echo("E-Mail 不合法<br>"); } else { echo("輸入正確"); } ?>
?? ??
?? ??? 3?? ?? ??(??, ??, ???)? ????.
1. ?? ??? ??? ??? ?? ??? ?? ??? ???? ??? ?????.
2. filter_input_array() ??? ???? ?????? GET ?? ??? ?? ??? ??? ?????.
3. $result ??? "age" ? "email" ??? ??? ??? ??? ?????. (??? ??? ?? ?? filter_input_array() ?? ?? ? ?? ??? FALSE???.)
filter_input_array() ??? ? ?? ??? ????? ?? ??? ID? ? ????.
????? ?? ??? ID? ?? ??? ??? ?? ??? ?? ?? ??????.
????? ??? ?? ??? ?? ??? ??? ???.
·???????????????????????????????????????????????????????????????????????? " " " ???????????????????????????. ??)
· ? ??? ? ??? ID??? ??, ??? ? ??? ???? ????? ???.
?? ?? ??
FILTER_CALLBACK ??? ???? ??? ??? ? ????. ??? ?? ??? ??? ??? ?????. ??? ???? ??? ??? ???? ???? ??? ? ????.
???? ?? ??? ???? ?? PHP ??? ??? ? ????.
??? ??? ?? ??? ?? ??? ??? ??? ?????. ??? "options"? ?? ????.
?? ???? ??? ?? ??? ???? ?? "_"? ???? ?????.
<?php function convertSpace($string) { return str_replace("_", ".", $string); } $string = "www_php_cn!"; echo filter_var($string, FILTER_CALLBACK, array("options"=>"convertSpace")); ?>
? ??? ??? ??? ????.
?? ??
?? ?? "_"? ?? ". "? ?????.
1. "_"? "."?? ??? ??? ????.
2. FILTER_CALLBACK ??? ?? Array? ???? ??? ???? filter_var() ??? ?????. ??>