PHPでは、フォームからの入力に対して、入力値のチェックが欠かせません。
そこで、ここでは、PHPの基礎的な関数を利用して、入力値のチェックをする方法を一覧にしておきます。
//ポストされた時のみ処理 if ($_SERVER["REQUEST_METHOD"]=="POST"){
//エラー格納変数の配列初期化 $_errors = array() ;
//変数$dataにポストの値を代入 $data = $_POST['data'] ;
//$dataが空でないかチェック if(trim($data) ==''){ $_errors[] = "入力されていません。" ; }
//文字数チェック if (strlen($data) > 8) { $_errors[] = "文字数が8文字を超えています" ; }
//$dataが数値(整数値のみ)であるかチェック if(!ctype_digit($data)){ $_errors[] = "数値以外が含まれています。" ; }
//$dataに数値0-9以外が含まれていないかチェック if(preg_match("/[^0-9]/",$data)){ $_errors[] = "数値以外が含まれています。" ; }
//入力値が半角英数で10文字以内かチェック if (!preg_match("/^[A-Za-z0-9]{1,10}$/", $data)){ $_errors[] = "入力値が不正です。"; }
//メールアドレスのチェック1 if (!preg_match("/^[^@]+@([-a-z0-9]+\.)+[a-z]{2,}$/", $data)){ $_errors[] = "不正なメールアドレスです。"; }
//メールアドレスのチェック2 $reg = "/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/iD"; if (!preg_match($reg, $data)) { $_errors[] = "不正なメールアドレスです。"; }
foreach ($_errors as $error){ echo "$error".'<br>'; } //if_end }
//その他 //特定の文字以外は空に置き換える $data = preg_replace("/^[A-Za-z0-9_.-]/","", $data) ;
//変数を整数型に変換する $data = intval($data) ; //変数を浮動小数点型に変換する $data = doubleval($data) ;
//日付チェック if (!checkdate($month,$day,$year)) { $_errors = "日付に誤りがあります" ; }