//定数の宣言
$arrPref = array( "お選びください", "北海道", "青森県", "岩手県", "宮城県", "秋田県", "山形県", "福島県", "茨城県", "栃木県", "群馬県", "埼玉県", "千葉県", "東京都", "神奈川県", "新潟県", "富山県", "石川県", "福井県", "山梨県", "長野県", "岐阜県", "静岡県", "愛知県", "三重県", "滋賀県", "京都府", "大阪府", "兵庫県", "奈良県", "和歌山県", "鳥取県", "島根県", "岡山県", "広島県", "山口県", "徳島県", "香川県", "愛媛県", "高知県", "福岡県", "佐賀県", "長崎県", "熊本県", "大分県", "宮崎県", "鹿児島県", "沖縄県" );
define( "_CHK_HAN_", 1 );
define( "_CHK_NUM_", 2 );
define( "_CHK_TEL_", 3 );
define( "_CHK_ZEN_", 4 );
define( "_CHK_MAIL_", 5 );
define( "_CHK_RADIO_", 6 );
define( "_CHK_SEL_", 7 );
define( "_CHK_FLOAT_", 8 );
define( "_CHK_ID_", 9 );
define( "_CHK_KANA_", 10 );
//エラーチェック関数
function chk_input( $input, $title, $rule = 0, $min = 0, $max = 0, $fix = 0, $arrNg = false ) {
if ( $rule == _CHK_RADIO_ ) {
if ( strlen( $input ) <= 0 ) {
return "{$title}をチェックしてください。
";
}
return "";
}
if ( $rule == _CHK_SEL_ ) {
if ( strlen( $input ) <= 0 ) {
return "{$title}を選択してください。
";
}
return "";
}
if ( $min > 0 ) {
if ( strlen( $input ) <= 0 ) {
return "{$title}を入力してください。
";
}
}
if ( $rule == _CHK_MAIL_ ) {
if ( strlen( $input ) != mb_strlen( $input ) ) {
return "{$title}は半角で入力してください。
";
}
if ( strlen( $input ) > 100 ) {
return "{$title}は100字以内で入力してください。
";
}
if ( ( $pos = strpos( $input, "@" ) ) <= 0 ) {
return "{$title}が不正です。
";
}
if ( strpos( $input, "@", $pos + 1 ) > 0 ) {
return "{$title}が不正です。
";
}
if ( strpos( $input, ".", $pos ) <= 0 ) {
return "{$title}が不正です。
";
}
return "";
}
if ( $rule == _CHK_ZEN_ ) {
$num = mb_strlen( $input );
if ( $num != mb_strlen( $input ) ) {
return "{$title}は全角で入力してください。
";
}
} else if ( $rule != 0 ) {
$num = strlen( $input );
if ( $num != mb_strlen( $input ) ) {
return "{$title}は半角で入力してください。
";
}
$id_chk = 0;
if ( $rule == _CHK_NUM_ || $rule == _CHK_TEL_ || $rule == _CHK_FLOAT_
|| $rule == _CHK_ID_ || $rule == _CHK_ID2_ || $rule == _CHK_CODE_ ) {
for ( $iCnt = 0 ; $iCnt < $num ; $iCnt++ ) {
$char = ord( substr( $input, $iCnt, 1 ) );
if ( $char < 48 || $char > 57 ) {
if ( $rule == _CHK_ID_ ) {
if ( ( ! ( $char >= 97 && $char <= 122 ) ) && ( ! ( $char >= 60 && $char <= 90 ) ) ) {
return "{$title}は半角英数字のみで入力してください。
";
} else {
$id_chk++;
}
} else if ( $rule == _CHK_ID2_ ) {
if ( ( ! ( $char >= 97 && $char <= 122 ) ) && ( ! ( $char >= 60 && $char <= 90 ) )
&& $char != 44 ) {
return "{$title}は半角英数字とカンマ(,)のみで入力してください。
";
} else {
$id_chk++;
}
} else if ( $rule == _CHK_CODE_ ) {
if ( ( ! ( $char >= 97 && $char <= 122 ) ) && ( ! ( $char >= 60 && $char <= 90 ) )
&& $char != 45 && $char != 95 && $char != 42 && $char != 43 && $char != 47 ) {
return "{$title}は半角英数字とハイフン(-)とアンダースコア(_)、プラス(+)、スラッシュ(/)のみで入力してください。
";
} else {
$id_chk++;
}
} else if ( $rule == _CHK_NUM_ ) {
return "{$title}は半角数字のみで入力してください。
";
} else if ( $rule == _CHK_TEL_ && $char != 45 ) {
return "{$title}は半角数字とハイフン「-」のみで入力してください。
";
} else if ( $rule == _CHK_FLOAT_ && $char != 46 ) {
return "{$title}は半角数字と「.」のみで入力してください。
";
}
}
}
}
}
$num = mb_strlen( $input );
if ( $fix > 0 && $num != $fix ) {
return "{$title}は{$fix}字で入力してください。
";
}
if ( $max > 0 && $num > $max ) {
if ( $min > 1 ) {
return "{$title}は{$min}字以上{$max}字以内で入力してください。
";
} else {
return "{$title}は{$max}字以内で入力してください。
";
}
}
if ( $min > 1 && $num < $min ) {
if ( $max > 0 ) {
return "{$title}は{$min}字以上{$max}字以内で入力してください。
";
} else {
return "{$title}は{$min}字以上で入力してください。
";
}
}
if ( $arrNg != false ) {
$ng = "";
for ( $iCnt = 0 ; $iCnt < count( $arrNg ) ; $iCnt++ ) {
if ( strpos( " " . make_key( $input ), $arrNg[$iCnt]["ng_word"] ) > 0 ) {
$ng = $arrNg[$iCnt]["ng_word"];
break;
}
}
if ( strlen( $ng ) > 0 ) {
return "{$title}にNGワード({$ng})が含まれています。
";
}
}
return "";
}
//値の取得
if ( $_POST["ACT"] == "ON" || $_POST["ACT"] == "BACK" ) {
$name = $_POST["name"];
$namek = $_POST["namek"];
$zip1 = $_POST["zip1"];
$zip2 = $_POST["zip2"];
$pref = $_POST["pref"];
$addr1 = $_POST["addr1"];
$addr2 = $_POST["addr2"];
$addr3 = $_POST["addr3"];
$addr1 = mb_convert_kana($addr1,"a","SHIFT-JIS");
$addr2 = mb_convert_kana($addr2,"a","SHIFT-JIS");
$addr3 = mb_convert_kana($addr3,"a","SHIFT-JIS");
$tel = $_POST["tel"];
$mail = $_POST["mail"];
$mail2 = $_POST["mail2"];
$target1 = intval( $_POST["target1"] );
$target2 = intval( $_POST["target2"] );
$target3 = intval( $_POST["target3"] );
$target4 = intval( $_POST["target4"] );
$birth = $_POST["birth"];
$entrance = $_POST["entrance"];
$graduation = $_POST["graduation"];
$faculty = $_POST["faculty"];
$subject = $_POST["subject"];
$special = $_POST["special-study"];
$sub_course = $_POST["subject-course"];
$number = $_POST["student-number"];
$oldlname = $_POST["oldlname"];
$course = intval( $_POST["course"] );
$free = $_POST["free"];
//エラーチェック
$strErr = "";
$strErr .= chk_input( $name, "氏名", 0, 1 );
$strErr .= chk_input( $namek, "氏名カナ", 0, 1 );
$strErr .= chk_input( $mail, "メールアドレス", _CHK_MAIL_, 1 );
if ( $mail != $mail2 ) {
$strErr .= "確認メールアドレスと一致しません。
";
}
$strErr .= chk_input( $zip1, "郵便番号前半", 3, 3, 3 );
$strErr .= chk_input( $zip2, "郵便番号後半", 4, 4, 4 );
if ( $pref == 0 ) {
$strErr .= "住所の都道府県を選択してください。
";
}
$strErr .= chk_input( $addr1, "住所", 0, 1 );
if(!preg_match("/[0-9]/", $addr2)){
$strErr .= "住所には番地も記載してください。
";
}
$strErr .= chk_input( $tel, "電話番号", _CHK_TEL_, 1 );
if(!$target1){
$strErr .= "職員区分を選択してください。
";
}
if(!$target2){
$strErr .= "勤務先校種を選択してください。
";
}
if(!$target3){
$strErr .= "(1)を選択してください。
";
}
if(!$target4){
$strErr .= "(2)を選択してください。
";
}
if ( ( $target1 == 0 ) && ( $target2 == 0 ) && ( $target3 == 0 ) && ( $target4 == 0 ) ) {
$strErr .= "受講対象者の区分を選択してください。
";
}
if ( $course == 0 ) {
$strErr .= "受講希望科目を選択してください。
";
}
} else {
$name = "";
$namek = "";
$zip1 = "";
$zip2 = "";
$pref = "";
$addr1 = "";
$addr2 = "";
$addr3 = "";
$tel = "";
$mail = "";
$mail2 = "";
$target1 = "";
$target2 = "";
$target3 = "";
$target4 = "";
$birth ="";
$entrance = "";
$graduation = "";
$faculty = "";
$subject = "";
$special = "";
$sub_course = "";
$number = "";
$oldlname ="";
$course = "";
$free = "";
}
//アクション振り分け【入力画面(0)・入力+エラー画面(0)・確認画面(1)】
$cnf = 0;
if ( $_POST["ACT"] == "ON" && $strErr == "" ) {
$cnf = 1;
}
if ( $cnf == 1 ) {
$BTN = "送信";
} else {
$BTN = "内容を確認する";
}
?>
共立女子大学・短期大学