属性を数値(整数)に限定」も参照ください。想定する値により使い分けるようにします。範囲のチェック数値の場合は、最大値、最小値が指定できる場合は、それらのチェックを行います。前述の例では、想定される値(1または2)以外の場合はエラーにしています。......文字列の場合も、文字数の最大値、最小値をチェックします。これらのチェックはできる限り厳格に行うようにします。関数は、文字数を返します。die('文字数の制限(50文字)を越えています。使って以下のように制御文字でないことと文字数のチェックを行う方法もよく使われます。die('名前は30文字以内でお願いします。');}バリデーションサンプル以下は、フォームの検証(バリデーション)のサンプルです。2~26行目:入力値に不正なデータがないかなどをチェックする関数の定義です。詳細は「入力値の検証」を参照ください。されたデータを全て検証します。利用したエスケープ処理の関数の定義です。代入しています(NULLで初期化)。レベルのエラーが発生します。属性に出力している変数は、ページを開いた時点ではデータがサーバーに送られていないので未定義になっていて、この初期化を行わないとエラーが表示されてしまいます。関数でエスケープ処理をしています。55行目:エラーの文字列を格納するための変数を定義しています。エラーは複数発生する可能性があるので、配列にしています。値が空の場合は、「*お名前は必須です。」と言う文字列をエラー用の配列に追加します。使って、入力された文字列が制御文字以外の文字で1文字以上30文字以下かを検証しています。30文字以上の場合、または制御文字が含まれている場合は「*お名前は30文字以内でお願いします。」と言うエラーをエラー用の配列に追加します。64~71行目:$_POST['email'](E-mail)の値を検証しています。」と言う文字列をエラー用の配列に追加します。空でない場合は、正規表現を使ってメールアドレスの形式に合っているかを検証します。(詳細は「メールアドレスの検証」を参照ください)73~95行目:$_POST['type'](セレクトメニューの選択された値)の検証です。関数で数値かどうかを検証して数値以外の場合はエラーにします。範囲なので、それ以外の値であればエラーにします。値が「0」の場合は、選択肢を選んでいないのでエラーとしています。値により、それぞれに対応する文字列を変数「$type_value」に格納しています。97~102行目:コメントの値を検証しています。「お名前」の検証とほぼ同じです。された値が定義されているかを調べて、定義されていればそれ以降を実行します。配列の内容を出力します。エラーがなければ「送信しました。die('不正な入力です。die('不正な入力です。die('不正な入力です。最大文字数は100文字です。制御文字は使用できません。'*お名前は必須です。'*お名前は30文字以内でお願いします。'*メールアドレスの形式が正しくありません。