*"); // ↓メールフォームデータのファイル名 define("FORMFILE", "./mailform.html"); // ↓入力確認画面データのファイル名 define("CHECKFILE", "./input_check.html"); #==============# # メイン処理 # #==============# switch($_POST['mode']): case 'do_form': decode(); check(); if(CHECK_FLG){ check_html(); exit(); } sendmail(); finish_html(); break; case 'do_form2': decode(); sendmail(); finish_html(); break; default: top_html(); break; endswitch; exit(); #----------------# # 初期画面表示 # #----------------# function top_html(){ global $homeurl,$title,$copyright; if(NAME_FLG){ $name_chk = MARK; } if(EMAIL_FLG){ $email_chk = MARK; } if(COMMENT_FLG){ $comment_chk = MARK; } if(JOB_FLG){ $job_chk = MARK; } if(ADDRESS_FLG){ $address_chk = MARK; } if(GENDER_FLG){ $gender_chk = MARK; } if(AGE_FLG){ $age_chk = MARK; } if(CHECK_FLG){ $submit = "入力確認画面へ"; }else{ $submit = "送信する"; } require FORMFILE; } #--------------------# # 入力確認画面表示 # #--------------------# function check_html(){ global $homeurl,$title,$copyright; if(NAME_FLG){ $name_chk = MARK; } if(EMAIL_FLG){ $email_chk = MARK; } if(COMMENT_FLG){ $comment_chk = MARK; } if(JOB_FLG){ $job_chk = MARK; } if(ADDRESS_FLG){ $address_chk = MARK; } if(GENDER_FLG){ $gender_chk = MARK; } if(AGE_FLG){ $age_chk = MARK; } if($_POST['copy'] == "on"){ $copy_flg = "コピーをE-mailで受信する"; }else{ $copy_flg = "コピーをE-mailで受信しない"; } require CHECKFILE; } #----------------# # 入力チェック # #----------------# function check() { # フォーム内容をチェック if(NAME_FLG && $_POST['name'] == ""){ error("名前が入力されていません"); } if(EMAIL_FLG){ if(!$_POST['email']){ error("Eメールが入力されていません"); } elseif(!preg_match('/[\w.-]+\@[\w.-]+\.[a-zA-Z]{2,3}/', $_POST['email'])){ error("Eメールの入力内容が正しくありません"); } } if(COMMENT_FLG && $_POST['comment'] == ""){ error("コメントが入力されていません"); } } #----------------# # デコード処理 # #----------------# function decode() { if ($_SERVER['REQUEST_METHOD'] == "GET") { error("不正な投稿です"); } foreach ($_POST as $key => $value) { // バックスラッシュの排除 if (get_magic_quotes_gpc()) { $value = stripslashes($value); } if($_POST['mode'] == "do_form" && CHECK_FLG == 1){ // タグ処理 $value = htmlspecialchars($value); // 区切り文字","をタグ用に処理 $value = str_replace(",", ",", $value); // 改行処理 if($key == "comment"){ $value = str_replace("\r\n", "
", $value); $value = str_replace("\r", "
", $value); $value = str_replace("\n", "
", $value); } }elseif($_POST['mode'] == "do_form2"){ $value = tag_text($value); } $value = trim($value); $_POST[$key] = $value; } } #--------------# # メール送信 # #--------------# function sendmail(){ global $charset,$jcode; $agent = getenv("HTTP_USER_AGENT"); $host = getenv("REMOTE_HOST"); $addr = getenv("REMOTE_ADDR"); if($host == "" || $host == $addr){ $host = @gethostbyaddr($addr); } $date = gmdate("Y/m/d H:i:s (D)",time()+9*60*60); $mailbody = << メール送信完了しました。
     

送信完了です

ご意見をお聞かせいただき誠にありがとうございます。
■ 東京都公式ホームページ          
       
〒206-0012 東京都多摩市貝取1449-1
電話:042-389-6300
FAX:042-372-8655
 
 
当ホームページの文章の引用・転載は厳禁です。画像の持ち出しは、一切禁止とさせていただきます。
Copyright(C)2007 a-koiso.com All Rights Reserved.
EOM; } #--------------# # エラー処理 # #--------------# function error($msg){ global $charset,$jcode,$homeurl; echo << $msg
     

送信エラーです

エラーが発生し、送信できませんでした。誠に恐れ入りますが、ブラウザの「戻る」を使って再度送信をお願いいたします。
■ 東京都公式ホームページ          
       
〒206-0012 東京都多摩市貝取1449-1
電話:042-389-6300
FAX:042-372-8655
 
 
当ホームページの文章の引用・転載は厳禁です。画像の持ち出しは、一切禁止とさせていただきます。
Copyright(C)2007 a-koiso.com All Rights Reserved.
EOM; exit(); } #---------------------------------------------# # 使用できない文字の置換(タグ -> テキスト用)# #---------------------------------------------# function tag_text($str){ $str = str_replace("&", "&", $str); $str = str_replace(""", "\"", $str); $str = str_replace("'", "\'", $str); $str = str_replace("<", "<", $str); $str = str_replace(">", ">", $str); $str = str_replace(",", ",", $str); // 区切り文字を元に戻す $str = str_replace("
", "\n", $str); return $str; } ?>