",$_f_name,$mailBody); $mailBody = str_replace("",$_f_kana,$mailBody); $mailBody = str_replace("",$_f_mail,$mailBody); $mailBody = str_replace("",$_f_tel,$mailBody); $mailBody = str_replace("",$_f_sex,$mailBody); $mailBody = str_replace("",$_f_trigger,$mailBody); $mailBody = str_replace("",$_f_trigger_other_text,$mailBody); $mailBody = str_replace("",$_f_massage,$mailBody); $mailBody = str_replace("",$dateTimeString,$mailBody); #メール送信 mb_send_mail($_f_mail, "【お問い合わせありがとうございました】", $mailBody, "From: $mailForm\r\n" . "Reply-To: $replyTo\r\n" . "Return-path: $mailForm\r\n" . "X-Mailer: FormMail"); } #クリニック向けメール本文の作成 if(($fileData = fopen('template/inquire_mail.txt', 'r')) == FALSE) { errorHTML(0,"inquire_mail.txtが読み込めません","f902"); }else{ $mailBody = stream_get_contents($fileData); fclose($fileData); $mailBody = str_replace("",$_f_name,$mailBody); $mailBody = str_replace("",$_f_kana,$mailBody); $mailBody = str_replace("",$_f_mail,$mailBody); $mailBody = str_replace("",$_f_tel,$mailBody); $mailBody = str_replace("",$_f_sex,$mailBody); $mailBody = str_replace("",$_f_trigger,$mailBody); $mailBody = str_replace("",$_f_trigger_other_text,$mailBody); $mailBody = str_replace("",$_f_massage,$mailBody); $mailBody = str_replace("",$dateTimeString,$mailBody); #メール送信 mb_send_mail($mailForm, "【問い合わせがありました】", $mailBody, "From: $mailForm\r\n" . "Reply-To: $_f_mail\r\n" . "X-Mailer: FormMail"); } #Thanxメッセージ描画 if(($fileData = fopen('template/thanks.html', 'r')) == FALSE) { errorHTML(0,"thanx.htmが読み込めません","e901"); }else{ $htmlData = stream_get_contents($fileData); fclose($fileData); $htmlData = str_replace("",$_POST['F-NAME'],$htmlData); print $htmlData; } } //============================================================================ function checkThisSubmit() //---------------------------------------------------------------------------- { formPostCheck(); if(($fileData = fopen('template/check.html', 'r')) == FALSE) { errorHTML(0,"input_check.htmlが読み込めません","c901"); }else{ $htmlData = stream_get_contents($fileData); fclose($fileData); $htmlData = str_replace("",htmlspecialchars($_POST['F-NAME'],ENT_QUOTES),$htmlData); $htmlData = str_replace("",htmlspecialchars($_POST['F-KANA'],ENT_QUOTES),$htmlData); $htmlData = str_replace("",$_POST['F-MAIL'],$htmlData); $htmlData = str_replace("",htmlspecialchars($_POST['F-TEL'],ENT_QUOTES),$htmlData); $htmlData = str_replace("",htmlspecialchars($_POST['F-SEX'],ENT_QUOTES),$htmlData); $trigger = ""; if($_POST['F-TRIGGER_HP'] == "ホームページ") { $trigger = "ホームページ"; } if($_POST['F-TRIGGER_TV'] == "テレビ") { if($trigger){ $trigger .= "、テレビ"; }else{ $trigger = "テレビ"; } } if($_POST['F-TRIGGER_MAGAZINE'] == "雑誌") { if($trigger){ $trigger .= "、雑誌"; }else{ $trigger = "雑誌"; } } if($_POST['F-TRIGGER_INTRODUCTION'] == "知人・友人からの紹介") { if($trigger){ $trigger .= "、知人・友人からの紹介"; }else{ $trigger = "知人・友人からの紹介"; } } if($_POST['F-TRIGGER_OTHER'] == "その他") { if($trigger){ $trigger .= "、その他"; }else{ $trigger = "その他"; } } $htmlData = str_replace("",$trigger,$htmlData); $htmlData = str_replace("",htmlspecialchars($_POST['F-TRIGGER_OTHER_TEXT'],ENT_QUOTES),$htmlData); $htmlData = str_replace("",nl2br(htmlspecialchars($_POST['F-MESSAGE'],ENT_QUOTES)),$htmlData); $htmlData = str_replace("",htmlspecialchars($_POST['F-MESSAGE'],ENT_QUOTES),$htmlData); print $htmlData; } } //============================================================================ function onDrawForm() //---------------------------------------------------------------------------- { if(($fileData = fopen('template/input.htm', 'r')) == FALSE) { errorHTML(0,"input.htmが読み込めません","a901"); }else{ $htmlData = stream_get_contents($fileData); fclose($fileData); $htmlData = str_replace("","",$htmlData); $htmlData = str_replace("","",$htmlData); $htmlData = str_replace("","",$htmlData); $htmlData = str_replace("","",$htmlData); $htmlData = str_replace("","",$htmlData); $htmlData = str_replace("","",$htmlData); $htmlData = str_replace("","",$htmlData); $htmlData = str_replace("","",$htmlData); $htmlData = str_replace("","",$htmlData); $htmlData = str_replace("","",$htmlData); $htmlData = str_replace("","",$htmlData); $htmlData = str_replace("","",$htmlData); $htmlData = str_replace("","",$htmlData); $htmlData = str_replace("","",$htmlData); # $htmlData = str_replace("","checkThisSubmit",$htmlData); print $htmlData; } accessLog(); } //============================================================================ function formPostCheck() //---------------------------------------------------------------------------- { #参照元チェック if(preg_match('/index.php$/',$_SERVER['HTTP_REFERER'])){ $httpRererer = $_SERVER['HTTP_REFERER']; }else{ $httpRererer = $_SERVER['HTTP_REFERER']."index.php"; } if("http://".$_SERVER["SERVER_NAME"].$_SERVER["SCRIPT_NAME"] != $httpRererer){ errorHTML(1,"不正なアクセスです。","c901"); } #必須項目のチェック if(!$_POST['F-NAME']){ errorHTML(1,'お名前の入力は必須となっております。','c101'); }elseif(!$_POST['F-KANA']){ errorHTML(1,'ふりがなの入力は必須となっております。','c102'); }elseif(!$_POST['F-MAIL']){ errorHTML(1,'メールアドレスの入力は必須となっております。','c103'); }elseif(!$_POST['F-TEL']){ errorHTML(1,'電話番号の入力は必須となっております。','c104'); }elseif(!$_POST['F-MESSAGE']){ errorHTML(1,'ご質問・ご相談内容の入力は必須となっております。','c105'); } #氏名のチェック # if(5 > strlen($_POST['F-NAME'])){errorHTML(1,'入力いただいたお名前が短すぎるようです。','c1145');} if(31 < strlen($_POST['F-NAME'])){errorHTML(1,'入力いただいたお名前が長すぎるようです。','c11431');} #メールアドレスのチェック # if(strlen($_POST['F-MAIL']) != strlen($_POST['F-MAIL'])){errorHTML(1,'確認用のメールアドレスと一致しません。','c290');} # if($_POST['F-MAIL'] != $_POST['F-MAIL']){errorHTML(1,'確認用のメールアドレスと一致しません。','c2120');} if(128 < strlen($_POST['F-MAIL'])){errorHTML(1,'メールアドレスが正しく入力されていません。','c2128');} if(!preg_match("/^[\w\-\.]+\@[\w\-]+\.[\w\-\.]+[\w]$/",$_POST['F-MAIL'])){errorHTML(1,'メールアドレスが正しく入力されていません。','c299');} #問合せ内容のチェック # if(10 > strlen($_POST['F-MESSAGE'])){errorHTML(1,'入力いただいたお問合せ内容が短すぎるようです。','c310');} # if(501 < strlen($_POST['F-MESSAGE'])){errorHTML(1,'入力いただいたお問合せ内容が長すぎるようです。','c390');} $_f_massage = htmlspecialchars($_POST['F-MESSAGE']); $_y2c4output = nl2br($_POST['F-MESSAGE']); } //============================================================================ function accessLog() //---------------------------------------------------------------------------- { global $accessLogPath; if(($fp = fopen($accessLogPath, 'a','g0')) == FALSE) { errorHTML(0,"accesslogが書き込めません",'h901'); }else{ foreach($_SERVER as $key => $value) { $env_all[] = "$key=$value"; } $env_all[] = date("Y/m/d H:i:s", time()); $env_all[] = "--------------------------------------------------\n"; $size = fwrite($fp,implode("\n",$env_all)); fclose($fp); } } //============================================================================ function formLog($flg) //---------------------------------------------------------------------------- { global $formLogPath; if(($fp = fopen($formLogPath, 'a')) == FALSE) { errorHTML(0,"formLogが書き込めません",'i901'); }else{ $logData[] = $flg; $logData[] = $_SERVER['HTTP_REFERER']; $logData[] = $_SERVER["REMOTE_ADDR"]; $logData[] = date("Y/m/d H:i:s", time()); $logData[] = implode(",",$_POST); $logData[] = "\n----------------------------------------\n"; $size = fwrite($fp,implode(",",$logData)); fclose($fp); } } //============================================================================ function errorHTML($msgFlag,$message,$errorCode) //---------------------------------------------------------------------------- { global $errorLogPath; if($msgFlag == 1) { if(($fileData = fopen('template/input.htm', 'r')) == FALSE) { errorHTML(0,"input.htmが読み込めません",'j901'); }else{ $htmlData = stream_get_contents($fileData); fclose($fileData); $htmlData = str_replace("","".$message."
エラーコード:".$errorCode."",$htmlData); $htmlData = str_replace("",htmlspecialchars($_POST['F-NAME'],ENT_QUOTES),$htmlData); $htmlData = str_replace("",htmlspecialchars($_POST['F-KANA'],ENT_QUOTES),$htmlData); $htmlData = str_replace("",$_POST['F-MAIL'],$htmlData); $htmlData = str_replace("",htmlspecialchars($_POST['F-TEL'],ENT_QUOTES),$htmlData); if($_POST['F-SEX'] == "女性") { $htmlData = str_replace("",'checked="checked" ',$htmlData); $htmlData = str_replace("","",$htmlData); }elseif($_POST['F-SEX'] == "男性") { $htmlData = str_replace("","",$htmlData); $htmlData = str_replace("",'checked="checked" ',$htmlData); }else{ $htmlData = str_replace("","",$htmlData); $htmlData = str_replace("","",$htmlData); } if($_POST['F-TRIGGER_HP'] == "ホームページ") { $htmlData = str_replace("",'checked="checked" ',$htmlData); }else{ $htmlData = str_replace("","",$htmlData); } if($_POST['F-TRIGGER_TV'] == "テレビ") { $htmlData = str_replace("",'checked="checked" ',$htmlData); }else{ $htmlData = str_replace("","",$htmlData); } if($_POST['F-TRIGGER_MAGAZINE'] == "雑誌") { $htmlData = str_replace("",'checked="checked" ',$htmlData); }else{ $htmlData = str_replace("","",$htmlData); } if($_POST['F-TRIGGER_INTRODUCTION'] == "知人・友人からの紹介") { $htmlData = str_replace("",'checked="checked" ',$htmlData); }else{ $htmlData = str_replace("","",$htmlData); } if($_POST['F-TRIGGER_OTHER'] == "その他") { $htmlData = str_replace("",'checked="checked" ',$htmlData); }else{ $htmlData = str_replace("","",$htmlData); } $htmlData = str_replace("",htmlspecialchars($_POST['F-TRIGGER_OTHER_TXET'],ENT_QUOTES),$htmlData); $htmlData = str_replace("",nl2br(htmlspecialchars($_POST['F-MESSAGE'],ENT_QUOTES)),$htmlData); $htmlData = str_replace("",htmlspecialchars($_POST['F-MESSAGE'],ENT_QUOTES),$htmlData); # $htmlData = str_replace("","checkThisSubmit",$htmlData); print $htmlData; } }else{ if(($fileData = fopen('template/error.htm', 'r')) == FALSE) { print "

予期せぬエラーです。以下エラーコードをご連絡ください。

\n"; print "

エラーコード:z999

"; }else{ $htmlData = stream_get_contents($fileData); fclose($fileData); $messageHtml = "

予期せぬエラーです。再度初めから入力をお願いします。
\n"; $messageHtml .= "繰り返し表示される場合は以下エラーコードをご連絡ください。

\n"; $messageHtml .= "

エラーコード:r999

"; $htmlData = str_replace("",$messageHtml,$htmlData); print $htmlData; } #メール本文の作成 $mailBody = ""; #メール送信 mb_send_mail($mailForm, "問い合わせフォームエラー", $mailBody, "From: $mailForm\r\n" . "Reply-To: $systemAdmin\r\n" . "X-Mailer: FormMail"); } if(($fp = fopen($errorLogPath, 'a')) == FALSE) { errorHTML(0,"error.htmが読み込めません",'j901'); }else{ $logData[] = "ErrorCode = ".$errorCode; $logData[] = "Masseage = ".$message; $logData[] = implode(",",$_POST); $logData[] = date("Y/m/d H:i:s", time()); $logData[] = "----------------------------------------\n\n"; $size = fwrite($fp,implode("\n",$logData)); fclose($fp); accessLog(); } exit; } ?>