//送信メールアドレス $to = "tachibana@ozekilab.jp"; //$to = "ozekikoji@yahoo.co.jp"; // 正しい書式のメールアドレスの場合は、1 を返す function valid_mail($mail) { if(preg_match('/^(?:[^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff])|"[^\\\\\x80-\xff\n\015"]*(?:\\\\[^\x80-\xff][^\\\\\x80-\xff\n\015"]*)*")(?:\.(?:[^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff])|"[^\\\\\x80-\xff\n\015"]*(?:\\\\[^\x80-\xff][^\\\\\x80-\xff\n\015"]*)*"))*@(?:[^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\\\x80-\xff\n\015\[\]]|\\\\[^\x80-\xff])*\])(?:\.(?:[^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\\\x80-\xff\n\015\[\]]|\\\\[^\x80-\xff])*\]))*$/', $mail)) return 1; } //数値の場合は、1 を返す function numeric_chk($data){ if(!preg_match("/^\d+$/",$data)) return 1; } //--- POSTデータ取得 --- //「確認」「戻る」「送信する」ボタンが押されたとき if($_SERVER["REQUEST_METHOD"] == "POST"){ foreach($_POST as $k => $v){ //「magic_quotes_gpc = On」のときはエスケープ解除 if(get_magic_quotes_gpc()){ $v = stripslashes($v); } $v = htmlspecialchars($v, ENT_QUOTES, "UTF-8"); $$k = $v; } } //個別エラーフラグ $nameErr = false; $kanaErr = false; $sexErr = false; $ageErr = false; $ageNumericErr = false; $telErr = false; $telNumericErr = false; $mailErr = false; $mailFormatErr = false; $buildErr = false; $periodErr = false; $planErr = false; $homeErr = false; $qtitErr = false; //「確認」ボタンが押されたとき if($_POST['confirm']){ //--- エラー処理 ---------------------------------------------- //個別エラーチェック //空白エラー if(empty($name)) $nameErr = true; if(empty($kana)) $kanaErr = true; if(empty($sex)) $sexErr = true; if(empty($age)) $ageErr = true; if(empty($tel1) || empty($tel2) ||empty($tel3)) $telErr = true; if(empty($mail)) $mailErr = true; if(empty($build)) $buildErr = true; if(empty($plan)) $planErr = true; if(empty($home)) $homeErr = true; if(empty($qtit)) $qtitErr = true; //メール書式エラー if(!$mailErr){ if(!valid_mail($mail)) { $mailFormatErr = true; } } //年齢数値エラー if(!$ageErr){ if(numeric_chk($age)) { $ageNumericErr = true; } } //電話番号数値エラー if(!$telErr){ $tel = $tel1.$tel2.$tel3; if(numeric_chk($tel)) { $telNumericErr = true; } } //入居可能日エラー $nowYear = (int)date("Y"); $nowMonth = (int)date("n"); $nowDay = (int)date("j"); //年が今と同じとき if($nowYear == $period1){ //月が今と同じか大きいとき if($nowMonth <= $period2){ //月が同じとき if($nowMonth == $period2){ //日が今と同じか大きいとき if($nowDay < $period3){ $periodErr = false; //日が小さいとき }else{ $periodErr = true; } } //月が小さいとき }else{ $periodErr = true; } //年が大きい }else{ $periodErr = false; } //個別エラー結果を配列にセット $allErr = array($nameErr, $kanaErr, $sexErr, $ageErr, $ageNumericErr, $telErr, $telNumericErr, $mailErr, $mailFormatErr, $buildErr, $periodErr, $planErr, $homeErr, $qtitErr); //全体のエラーチェック if(in_array(true, $allErr)) $ErrFlg = true;} //「戻る」ボタンが押されたとき if($_POST['back']){ $ErrFlg = false; } ?>