getDb(); mysql_query("SET NAMES utf8"); $app = set_app_config(); $smarty->assign("app", $app); // フォームデータの変換 if ($_SERVER["REQUEST_METHOD"] == "POST") { $param = cnv_formstr($_POST); } else { $param = cnv_formstr($_GET); } $a8=$_COOKIE["ref_a8"]; //コンフィグ require_once("config.php"); //クラス require_once("admin/Class/Name.class.php"); // 処理ページの決定 $param["act"] = isset($param["act"]) ? $param["act"] : DEF_ACT; $screen_function_name = "screen_" . $param["act"]; call_user_func($screen_function_name, $param); // ========================================================= // コンテンツページ基準 // ========================================================= function screen_view($param) { global $smarty; global $db; global $memberno; require_once("member/autologincheck.php"); $memberno = $_SESSION["membernum"]; $memberemail = $_SESSION["memberemail"]; $membername = $_SESSION["membername"]; //男女どちらのフォームかチェックして記録 $ev_id = $param["ev_id"]; $s_set = $param["s"]; $_SESSION["s_set"] = $s_set; //会員がログインしているかチェック if($memberno !=""){ //$mem_text = "
"; $mem_text = "会員専用申込みフォームからお申込みください。
"; }else{ //$mem_text = "会員様は、ログインしてお申込みください。
"; } $smarty->assign("mem_text", $mem_text); $id = mysql_real_escape_string($ev_id); $smarty->assign( 'data', $prm); $sql2="select count(*)as cnt from rf_event where id='$id'"; $result2=mysql_query($sql2); $row2=mysql_fetch_array($result2); $cnt=$row2["cnt"]; if($cnt ==='1'){ $sqll="select event_status from rf_event where id='$id'"; $resultl=mysql_query($sqll); $rowl=mysql_fetch_array($resultl); $statas=$rowl["event_status"]; if($statas =='1'){ $smarty->assign("ev_id", $ev_id); $smarty->assign("s_set", $s_set); // テンプレートを表示 $smarty->display("step1.tpl"); }else{ // テンプレートを表示 $smarty->display("error.tpl"); } }else{ // テンプレートを表示 $smarty->display("error.tpl"); } } // ========================================================= // 確認画面 // ========================================================= function screen_confirm($param) { global $smarty; global $errors; global $param; global $db; global $a8; $hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']); $ip = $_SERVER['REMOTE_ADDR']; $us = $_SERVER['HTTP_USER_AGENT']; $data=$param["data"]; $_SESSION["entrydata"] = $data; // エラー情報配列 $errors = array(); if( empty($data['mail1'])){ $errors['mail1'] = true; } $data['mail1'] = preg_replace("/( | )/", "", $data['mail1']); $data['mail2'] = preg_replace("/( | )/", "", $data['mail2']); $regex = '/^([a-z0-9_]|\-|\.|\+)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,6}$/i'; if( ! preg_match( $regex, $data['mail1'] ) ){ $errors['email_type'] = true; } if( empty($data['mail2'])){ $errors['mail2'] = true; } if( $data['mail1'] != $data['mail2']){ $errors['email_match'] = true; } if( empty($data['mail2'])){ $errors['mail2'] = true; } //イベント情報取得 $ev_id=$param['ev_id']; if(!empty($errors)){ $params['errors'] = $errors; $smarty->assign( 'params', $params ); $smarty->assign( 'data', $data ); $smarty->assign( 'ev_id', $ev_id ); $hash="point2"; $smarty->assign( 'hash', $hash ); $smarty->display("step1.tpl"); } else{ //URL生成 //ランダムキー作成 $str=Ransecond::getRandomString(); if($a8 !=""){ $ref_a8 = "&a8=".$a8.""; } $url="https://rainbow--factory.com/step2.html?key=".$str."".$ref_a8.""; //イベントタイトル取得 $sqll="select * from rf_event where id='$ev_id'"; $resultl=mysql_query($sqll); $rowl=mysql_fetch_array($resultl); //市名 $city_str=$rowl[event_name]; preg_match('/<(.+)>/', $city_str, $str_match); $city_name = $str_match[1]; $title= "[".$city_name."] ".$rowl["event_detail"].""; //改行コード削除 $title = str_replace("\r\n", '', $title); $mbody="--------------------------------------------------------------------\n"; $mbody.="レインボーファクトリー「".$title."」へのイベント仮申込みが完了しました。\n"; $mbody.="※まだ申込みは完了していません※\n\n"; $mbody.="24時間以内に下記の手続きを行ってください。\n\n"; $mbody.="・下記URLにアクセスし、本申込みを完了してください。\n"; $mbody.="".$url."\n\n"; $mbody.="※本メールに心当たりのない方は、このメールを削除してください。\n"; $mbody.="--------------------------------------------------------------------\n"; $mbody.="●このメールは、自動的送信です。\n"; $mbody.="--------------------------------------------------------------------\n"; //メール送信処理 $email = $data['mail1']; //@で分割 $out1 = explode("@",$email, 2); //@より前 $fi= $out1[0]; //@より後ろ $sec = $out1[1]; //@より前を”で囲んで、アドレスを合成 $mailto = '"'.$fi.'"@'.$sec.''; $subject ="レインボーファクトリー【イベント仮申込み通知メール】"; $mailfrom ="from:info@rainbowfactory.jp"; mb_internal_encoding("UTF-8"); mb_language("ja"); $rc = mb_send_mail($mailto,$subject,$mbody,$mailfrom); //データベースに登録処理 $now=mktime(); //期限は現時刻より24時間 $end = $now + 86400; $data1=array( "input_date"=>$now, "limit_date"=>$end, "randam"=>$str, "email"=>$email, "event_id"=>$ev_id ); $table_name = rf_step; $fields_values = $data1; $res = $db->autoExecute($table_name, $fields_values,DB_AUTOQUERY_INSERT); if (PEAR::isError($res)) { die($res->getMessage()); } //a8セッションとクッキーを破棄 unset($_SESSION["ref_a8"]); setcookie('ref_a8',"", time()-42000, "/"); header("Location: step1.html?act=end"); } } // ========================================================= // 送信完了 // ========================================================= function screen_end($param) { global $smarty; $smarty->display("step1_end.tpl"); } ?>