質問: (6 <= 20);とグローバル変数で用いて それを比較するような形で書いてみたのですが、同様な事象となりました。
回答: > > if(preg_match('/^[a-z][a-z0-9_]{5,19}$/i', $pw)){ > > > if条件がマッチしたらになっているからでしょうね ``` if(!preg_match('/^[a-z][a-z0-9_]{5,19}$/i', $pw)){ ``` filter処理 ======== ``` ["regexp"=>"/^(([a-z\d])+([\w\.-])*@([\w-])+([\w\.-]+)+|)$/i"]]); $pw = filter_input(INPUT_POST,'pw',FILTER_VALIDATE_REGEXP,["options"=>["regexp"=>"/^([a-z]\w{5,19}|)$/i"]]); if(!is_null($mail)){ $message = '登録完了'; if($pw==="") $message = 'パスワードを入力してください'; if($pw===false) $message = 'パスワードは6文字以上20文字以内で入力してください'; if($mail==="") $message = 'メールアドレスを入力してください'; if($mail===false) $message = 'メールアドレスの形式が正しくありません'; } var_dump([$mail,$pw,$message]); ?> メールアドレス パスワード ```