=CURDATE())"; $sql.=" ORDER BY G.`表示順`,X.`表示順`"; $result=db_execquery($sql,$db); $plans=array(); $plans[0]="指定なし"; while ($myrow=mysqli_fetch_array($result)) { $plans[$myrow["プランID"]]=stripslashes($myrow["プラングループ名称"])." - ".stripslashes($myrow["プラン名称"]); } mysqli_close($db); $years=array(); for ($i=date("Y");$i<=date("Y")+1;$i++) { $years[$i]=$i; } $months=array(); for ($i=1;$i<=12;$i++) { $months[$i]=$i; } $days=array(); for ($i=1;$i<=31;$i++) { $days[$i]=$i; } if (!isset($_POST["submit"])) { if (isset($_GET["plan"])) { $_POST["plan"]=intval($_GET["plan"]); } else { $_POST["plan"]=0; } $_POST["datey"]=date("Y"); $_POST["datem"]=date("n"); $_POST["dated"]=date("j"); $_POST["nights"]=1; $_POST["man"]=$_POST["woman"]=0; $_POST["man_univ"]=$_POST["woman_univ"]=0; $_POST["man_hs"]=$_POST["woman_hs"]=0; $_POST["man_jhs"]=$_POST["woman_jhs"]=0; $_POST["man_es"]=$_POST["woman_es"]=0; $_POST["man_baby"]=$_POST["woman_baby"]=0; } require_once("Smarty.class.php"); $Smarty=new Smarty(); $Smarty->assign("pagetitle","ご予約お問い合わせ"); $Smarty->assign("mailaddress",MAIL_MAIN); $Smarty->assign("planmenu",GetPlanMenu()); $Smarty->assign("action",$_SERVER["PHP_SELF"]); $Smarty->assign("plan_options",$plans); $Smarty->assign("plan_selected",$_POST["plan"]); $Smarty->assign("datey_options",$years); $Smarty->assign("datey_selected",$_POST["datey"]); $Smarty->assign("datem_options",$months); $Smarty->assign("datem_selected",$_POST["datem"]); $Smarty->assign("dated_options",$days); $Smarty->assign("dated_selected",$_POST["dated"]); $Smarty->assign("planname",$plans[$_POST["plan"]]); $Smarty->assign("ninzu",CntNinzu()); $Smarty->assign("use_checkboxes",array("グラウンド"=>"グラウンド","テニスコート"=>"テニスコート","音楽室"=>"音楽室","会議室"=>"会議室","ハンドボールコート"=>"ハンドボールコート")); $Smarty->assign("use_key",$_POST["use"]); switch ($_POST["submit"]) { case "入力内容確認": $emsg=checkdata(); $Smarty->assign("emsg",$emsg); $db=db_connect(); if ($emsg=="") { $Smarty->assign("mode","confirm"); putlog($db,"確認画面を表示しました"); } else { $Smarty->assign("mode","entry"); putlog($db,"入力エラーがあります"); } mysqli_close($db); break; case "送信する": $emsg=mailSend(); if ($emsg=="") { //リロードでの二重投稿防止のためPOSTデータをクリア foreach($_POST as $key=>$value) { unset($_POST[$key]); } header("location:".$ROOT."/reservation_ok.php"); exit; } else { $emsg.="送信に失敗しました。しばらく経ってからもう一度実行してみてください。
"; $Smarty->assign("mode","entry"); $Smarty->assign("emsg",$emsg); } break; default: $Smarty->assign("mode","entry"); break; } $Smarty->Display("reservation.tpl"); exit; function checkdata() { $db=db_connect(); foreach($_POST as $name=>$value) { $_POST[$name]=mysqli_real_escape_string($db,htmlspecialchars($value)); } $MAXDAY=strtotime("+".RESERVE_MONTHSBEFORE." month",time()); $_POST["man"]=intval($_POST["man"]); $_POST["man_univ"]=intval($_POST["man_univ"]); $_POST["man_hs"]=intval($_POST["man_hs"]); $_POST["man_jhs"]=intval($_POST["man_jhs"]); $_POST["man_es"]=intval($_POST["man_es"]); $_POST["man_baby"]=intval($_POST["man_baby"]); $_POST["woman"]=intval($_POST["woman"]); $_POST["woman_univ"]=intval($_POST["woman_univ"]); $_POST["woman_hs"]=intval($_POST["woman_hs"]); $_POST["woman_jhs"]=intval($_POST["woman_jhs"]); $_POST["woman_es"]=intval($_POST["woman_es"]); $_POST["woman_baby"]=intval($_POST["woman_baby"]); $_POST["name"]=mb_convert_kana($_POST["name"],"KV"); $_POST["namek"]=mb_convert_kana($_POST["namek"],"KV"); $_POST["address"]=mb_convert_kana($_POST["address"],"KV"); $_POST["message"]=mb_convert_kana($_POST["message"],"KV"); if ($_POST["name"]=="") $emsg.="氏名が入力されていません
"; if ($_POST["namek"]=="") $emsg.="氏名(カナ)が入力されていません
"; if ($_POST["email"]=="") { $emsg.="メールアドレスが入力されていません
"; } elseif (!is_mail($_POST["email"])) { $emsg.="メールアドレスが正しくありません
"; } if ($_POST["phone"]=="" && ($_POST["mobilephone"]=="")) $emsg.="電話番号または携帯電話番号は必ず入力してください
"; if ($_POST["nights"]==0) { $emsg.="宿泊数が入力されていません
"; } else { $startday=strtotime($_POST["datey"]."-".$_POST["datem"]."-".$_POST["dated"]); $endday=strtotime("+".($_POST["nights"]-1)." day",$startday); if ($startday$MAXDAY) { $emsg.="ご予約は、ご利用予定の".RESERVE_MONTHSBEFORE."ヶ月前より承っております。それより先のご予約については直接お電話でお問い合わせください
"; } elseif ($_POST["plan"]!=0) { $sql="SELECT * FROM PLAN WHERE `プランID`=".$_POST["plan"]; $result=db_execquery($sql,$db); if (!$plan=mysqli_fetch_array($result)) { $emsg.="プランが見つかりません
"; } else { if ($plan["催行開始日"]!=0 && $startday"; } if ($plan["催行終了日"]!=0 && $endday>strtotime($plan["催行終了日"])) { $emsg.="指定プランのご利用は".$plan["催行終了日"]."までとなっております。ご希望日にはご利用いただけません。
"; } for ($i=0;$i<$_POST["nights"];$i++) { $wk=strtotime("+".$i." day",$startday); $wk2=strtotime("+1 day",$wk); if ($plan["除外休日"]==1 && isHoliday(date("Y",$wk),date("n",$wk),date("j",$wk))) { $emsg.="指定プランは休日はご利用いただけません
"; break; } if ($plan["除外休前日"]==1 && isHoliday(date("Y",$wk2),date("n",$wk2),date("j",$wk2))) { $emsg.="指定プランは休前日はご利用いただけません
"; break; } if ($plan["除外日曜"]==1 && date("w",$wk)==0) { $emsg.="指定プランは日曜日はご利用いただけません
"; break; } if ($plan["除外月曜"]==1 && date("w",$wk)==1) { $emsg.="指定プランは月曜日はご利用いただけません
"; break; } if ($plan["除外火曜"]==1 && date("w",$wk)==2) { $emsg.="指定プランは火曜日はご利用いただけません
"; break; } if ($plan["除外水曜"]==1 && date("w",$wk)==3) { $emsg.="指定プランは水曜日はご利用いただけません
"; break; } if ($plan["除外木曜"]==1 && date("w",$wk)==4) { $emsg.="指定プランは木曜日はご利用いただけません
"; break; } if ($plan["除外金曜"]==1 && date("w",$wk)==5) { $emsg.="指定プランは金曜日はご利用いただけません
"; break; } if ($plan["除外土曜"]==1 && date("w",$wk)==6) { $emsg.="指定プランは土曜日はご利用いただけません
"; break; } } if ($plan["除外期間1開始日"]!=0) { if (($startday>=strtotime($plan["除外期間1開始日"]) && $startday<=strtotime($plan["除外期間1終了日"])) || ($endday>=strtotime($plan["除外期間1開始日"]) && $endday<=strtotime($plan["除外期間1終了日"]))) { $emsg.="ご指定のプランはご利用希望日には選択いいただけません
"; } } if ($plan["除外期間2開始日"]!=0) { if (($startday>=strtotime($plan["除外期間2開始日"]) && $startday<=strtotime($plan["除外期間2終了日"])) || ($endday>=strtotime($plan["除外期間2開始日"]) && $endday<=strtotime($plan["除外期間2終了日"]))) { $emsg.="ご指定のプランはご利用希望日には選択いいただけません
"; } } } } } $cnt=CntNinzu(); if ($cnt==0) { $emsg.="宿泊人数が指定されていません
"; } if ($_POST["plan"]!=0) { if ($cnt<$plan["受付最少人数"]) $emsg.="指定プランの受付人数は".$plan["受付最少人数"]."人からとなっています
"; if ($cnt>$plan["受付最大人数"]) $emsg.="指定プランの受付人数は".$plan["受付最大人数"]."人までとなっています
"; } mysqli_close($db); return $emsg; } function mailSend() { mb_language("japanese"); $emsg=""; $db=db_connect(); $sql="SELECT * FROM SYSTEM WHERE KEYNAME LIKE 'MAIL_FORM%' AND KEYVALUE<>''"; $result=db_execquery($sql,$db); $mail_send=array(); $mail_from=""; while ($myrow=mysqli_fetch_array($result)) { if ($myrow["KEYNAME"]=="MAIL_FORM_FROM") { $mail_from=$myrow["KEYVALUE"]; } else { $mail_send[]=$myrow["KEYVALUE"]; } } if (count($mail_send)==0) { $emsg.="問い合わせ内容送信先メールアドレスが指定されていません
"; putlog($db,"問い合わせ内容送信先メールアドレスが指定されていません"); return $emsg; } $msg=""; $msg.=date("Y/m/d H:i:s")."\n"; $msg.="グリーンロッヂ山中湖 お問い合わせ内容\n"; $msg.=str_repeat("-",50); $msg.="\n"; $msg.="【お名前】\n".$_POST["name"]."(".$_POST["namek"].")\n\n"; $msg.="【団体・グループ名】\n".$_POST["group"]."\n\n"; $msg.="【E-MAIL】\n".$_POST["email"]."\n\n"; $msg.="【住所】\n".$_POST["zip"]." ".$_POST["address"]."\n\n"; $msg.="【電話番号】\n".$_POST["phone"]."\n\n"; $msg.="【携帯電話番号】\n".$_POST["mobilephone"]."\n\n"; $msg.="【FAX番号】\n".$_POST["fax"]."\n\n"; $msg.="【ご利用希望日】\n".$_POST["datey"]."年".$_POST["datem"]."月".$_POST["dated"]."日より、".$_POST["nights"]."泊\n\n"; if ($_POST["plan"]==0) { $msg.="【ご希望プラン】\n指定なし\n\n"; } else { $sql="SELECT * FROM PLAN WHERE `プランID`=".$_POST["plan"]; $result=db_execquery($sql,$db); if (mysqli_num_rows($result)==0) { $pname="指定されたプランがみつかりません"; } else { $myrow=mysqli_fetch_array($result); $pname=stripslashes($myrow["プラン名称"]); } $msg.="【ご希望プラン】\n".$pname."\n\n"; } $cnt=CntNinzu(); $msg.="【ご利用予定人数】\n"; $msg.=" 大人(男性=".$_POST["man"].",女性=".$_POST["woman"].")\n"; $msg.=" 大学生(男性=".$_POST["man_univ"].",女性=".$_POST["woman_univ"].")\n"; $msg.=" 高校生(男性=".$_POST["man_hs"].",女性=".$_POST["woman_hs"].")\n"; $msg.=" 中学生(男性=".$_POST["man_jhs"].",女性=".$_POST["woman_jhs"].")\n"; $msg.=" 小学生(男児=".$_POST["man_es"].",女児=".$_POST["woman_es"].")\n"; $msg.=" 未就学児(男児=".$_POST["man_baby"].",女児=".$_POST["woman_baby"].")\n"; $msg.=" 合計".$cnt."人\n\n"; $msg.="【ご利用施設】\n"; $sisetu=array(); if (isset($_POST["use"])) { foreach ($_POST["use"] as $use) { $sisetu[]=$use; } } $msg.=implode(",",$sisetu)."\n\n"; $msg.="【その他お問い合わせ内容】\n".$_POST["message"]."\n\n"; $from=""; if ($_POST["email"]!="") { $from.="From:"; $from.=$_POST["email"].">\r\n"; $from.="Reply-To:". $_POST["email"]."\r\n"; } //内部に送信 foreach ($mail_send as $send) { if (!mb_send_mail($send,"グリーンロッヂ山中湖 問い合わせフォーム",$msg,"From:". $_POST["email"]) ) { $emsg.="センターへのメール送信に失敗しました
\n"; putlog($db,"センターへのメール送信に失敗しました"); } } if ($_POST["email"]!="") { $msg.=str_repeat("-",50); $msg.="\n"; $msg.="この度はお問い合わせいただき誠にありがとうございます。\n"; $msg.="追ってお客様にご連絡を差し上げますのでしばらくお待ちください。\n"; $msg.="2〜3日経っても連絡が無い場合は、メールの不達や連絡先の入力間違い等が考えられますので、お手数ですがお問い合わせくださいますようお願いします。\n\n"; $msg."\n"; $msg.="グリーンロッヂ山中湖\n"; $msg.="〒401-0502 山梨県南都留郡山中湖村平野2018\n"; $msg.="TEL:0555-65-8501 FAX:0555-65-7242\n"; $msg.="代表窓口Mail ".$mail_from."\n"; $msg.="http://greenlodge.jp/\n"; $from="From:"; $from.="GREEN LODGE YAMANAKAKO<". $mail_from.">\r\n"; $from.="Reply-To:". $mail_from."\r\n"; if (!mb_send_mail($_POST["email"],"グリーンロッヂ山中湖 お問い合わせ内容控え",$msg,$from)) { $emsg.="お客様への控えの送信に失敗しました
\n"; putlog($db,"お客様への控えの送信に失敗しました"); } } if ($emsg=="") { putformlog($db,$msg); putlog($db,"問い合わせ内容を送信しました"); } mysqli_close($db); return $emsg; } function putformlog($db,$msg) { $sql="INSERT INTO LOG_RESERVATION (`送信日時`,`送信者氏名`,`送信者団体名`,`送信者EMAIL`,`送信者電話番号`,`送信者住所`,`人数`,`利用予定日`,`泊数`,`本文`) VALUES ("; $sql.="'".date("Y-m-d H:i:s")."'"; $sql.=",'".$_POST["name"]."'"; $sql.=",'".$_POST["group"]."'"; $sql.=",'".$_POST["email"]."'"; $sql.=",'".$_POST["phone"]."'"; $sql.=",'".$_POST["address"]."'"; $sql.=",'".CntNinzu()."'"; $sql.=",'".$_POST["datey"]."-".$_POST["datem"]."-".$_POST["dated"]."'"; $sql.=",".$_POST["nights"]; $sql.=",'".$msg."'"; $sql.=")"; db_execquery($sql,$db); } function CntNinzu() { $cnt=0; $cnt+=$_POST["man"]+$_POST["woman"]; $cnt+=$_POST["man_univ"]+$_POST["woman_univ"]; $cnt+=$_POST["man_hs"]+$_POST["woman_hs"]; $cnt+=$_POST["man_jhs"]+$_POST["woman_jhs"]; $cnt+=$_POST["man_es"]+$_POST["woman_es"]; $cnt+=$_POST["man_baby"]+$_POST["woman_baby"]; return $cnt; } ?>