$value){
if(!is_array($value)){
${$key} = htmlspecialchars($value, ENT_QUOTES, "UTF-8");
//hidden生成
if($key != "mode")$hiddens .= ''."\n";
}else{
//クラス選択配列データ処理
${$key} = $value;
//hidden生成
foreach($value as $val){
$hiddens .= ''."\n";
}
}
}
//保存
//////////////////////////////////
if($mode == "w"){
if(isset($_SESSION['ticket'], $_POST['tct']) && $_SESSION['ticket'] === $_POST['tct']){
unset($_SESSION['ticket']);
//配信セット
require_once("phpmailer/class.phpmailer.php");
require_once("phpmailer/jphpmailer.php");
//管理者へ
$mailTmp = file_get_contents('mail.txt');
$subject = mb_substr($mailTmp, 0, mb_strpos($mailTmp, "\n"));
$mailBody = mb_substr($mailTmp, mb_strpos($mailTmp, "\n"));
$zip = $zip1."-".$zip2;
$tel = $tel1."-".$tel2."-".$tel3;
$info = ($info)?'受け取る':'受け取らない';
$mailBody = str_replace("%name%",$name1." ".$name2,$mailBody);
$mailBody = str_replace("%kana%",$kana1." ".$kana2,$mailBody);
$mailBody = str_replace("%zip%",$zip,$mailBody);
$mailBody = str_replace("%age%",$age,$mailBody);
$mailBody = str_replace("%mail%",$mail,$mailBody);
$mailBody = str_replace("%pref%",$pref,$mailBody);
$mailBody = str_replace("%add1%",$add1,$mailBody);
$mailBody = str_replace("%add2%",$add2,$mailBody);
$mailBody = str_replace("%tel%",$tel,$mailBody);
$mailBody = str_replace("%num%",1,$mailBody);
$mailBody = str_replace("%info%",$info,$mailBody);
$agent = $_SERVER['HTTP_USER_AGENT']."\n";
$agent .= $_SERVER['REMOTE_ADDR'];
$mailBody = str_replace("%agent%",$agent,$mailBody);
$pmail = new JPHPMailer();
$pmail->addTo($mailTo);
//$pmail->addCC($mailTo2);
$pmail->setFrom($mail, $name1);
$pmail->setSubject($subject);
$pmail->setBody($mailBody);
if (!$pmail->send()){
$messagev = 'メール送信時にエラーが発生しました。:MAIN ERROR A001';
}else{
//控えメール
$mailTmp = file_get_contents('hikae.txt');
$subject = mb_substr($mailTmp, 0, mb_strpos($mailTmp, "\n"));
$mailBody = mb_substr($mailTmp, mb_strpos($mailTmp, "\n"));
$mailBody = str_replace("%name%",$name1." ".$name2,$mailBody);
$mailBody = str_replace("%kana%",$kana1." ".$kana2,$mailBody);
$mailBody = str_replace("%zip%",$zip,$mailBody);
$mailBody = str_replace("%age%",$age,$mailBody);
$mailBody = str_replace("%mail%",$mail,$mailBody);
$mailBody = str_replace("%pref%",$pref,$mailBody);
$mailBody = str_replace("%add1%",$add1,$mailBody);
$mailBody = str_replace("%add2%",$add2,$mailBody);
$mailBody = str_replace("%tel%",$tel,$mailBody);
$mailBody = str_replace("%num%",1,$mailBody);
$mailBody = str_replace("%info%",$info,$mailBody);
$pmail = new JPHPMailer();
$pmail->addTo($mail);
$pmail->setFrom($mailFrom,$mailName);
$pmail->setSubject($subject);
$pmail->setBody($mailBody);
if (!$pmail->send()){
$messagev = 'メール送信時にエラーが発生しました。:MAIN ERROR B001';
}
}
}
include('finish.html');
}
//確認
//////////////////////////////////
if($mode == "c"){
$err = 0;
$er1 = '';
if($name1 == "" || $name2 == ""){
$name_error = $er1.'名前を入力して下さい。'.$er2;
$err = 1;
}else if(confirm_check_html($name1) || confirm_check_html($name2)){
$name_error = $er1.'HTMLタグ(< >で挟まれた文字列)は入力できません'.$er2;
$err = 1;
}
$kana1 = mb_convert_kana($kana1, "cH", "UTF-8");
$kana2 = mb_convert_kana($kana2, "cH", "UTF-8");
if($kana1 == "" || $kana2 == ""){
$kana_error = $er1.'ふりがな入力して下さい。'.$er2;
$err = 1;
}else if(mb_ereg("[^ぁ-んー ・]", $kana1) || mb_ereg("[^ぁ-んー ・]", $kana2)) {
$kana_error = $er1.'全角ひらがなで入力して下さい。'.$er2;
$err = 1;
}else if(confirm_check_html($kana1) || confirm_check_html($kana2)){
$kana_error = $er1.'HTMLタグ(< >で挟まれた文字列)は入力できません';
$err = 1;
}
$zip1 = mb_convert_kana($zip1, "a", "UTF-8");
$zip2 = mb_convert_kana($zip2, "a", "UTF-8");
if($zip1 == "" || $zip2 == ""){
$zip_error = $er1.' 郵便番号を入力して下さい。'.$er2;
$err = 1;
}else if(!preg_match('/[0-9]{3}/', $zip1) || !preg_match('/[0-9]{4}/', $zip2)){
$zip_error = $er1.'半角数字でただしく入力して下さい'.$er2;
$err = 1;
}
if($pref == ""){
$pref_error = $er1.'都道府県を選択して下さい。'.$er2;
$err = 1;
}
if($add1 == ""){
$add1_error = $er1.'市区町村・番地を入力して下さい。'.$er2;
$err = 1;
}else if(confirm_check_html($add1)){
$add1_error = $er1.'HTMLタグ(< >で挟まれた文字列)は入力できません'.$er2;
$err = 1;
}
$age = mb_convert_kana($age, "a", "UTF-8");
if($age == ""){
$age_error = $er1.'年齢入力して下さい。'.$er2;
$err = 1;
}else if(!preg_match('/[0-9]/', $age)){
$age_error = $er1.'半角数字で入力して下さい'.$er2;
$err = 1;
}
$tel1 = mb_convert_kana($tel1, "a", "UTF-8");
$tel2 = mb_convert_kana($tel2, "a", "UTF-8");
$tel3 = mb_convert_kana($tel3, "a", "UTF-8");
if($tel1 == "" || $tel2 == "" || $tel3 == ""){
$tel_error = $er1.'電話番号を入力して下さい。'.$er2;
$err = 1;
}else if(!preg_match('/[0-9]/', $tel1) || !preg_match('/[0-9]/', $tel2) || !preg_match('/[0-9]/', $tel3)){
$tel_error = $er1.'半角数字で入力して下さい'.$er2;
$err = 1;
}
if($mail == ""){
$mail_error = $er1.'メールアドレスを入力して下さい。'.$er2;
$err = 1;
}else if(!preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $mail)){
$mail_error = $er1.'メールアドレスを正しく入力して下さい。'.$er2;
$err = 1;
}
//入力エラーがない場合
//確認画面へ
if(!$err){
//チケット
$_SESSION['ticket'] = md5(uniqid().mt_rand());
$ticket = '';
include('confirm.html');
//エラーあり
}else{
$mode = "r";
}
}
//再編集
//////////////////////////////////
if($mode == "r"){
include('form.html');
}
//フォーム
//////////////////////////////////
if($mode == ""){
include('form.html');
}
function confirm_check_html($j) {
//改行やスペースを除去してからチェック
if(preg_match('/<.+?>/', preg_replace('/[\s\r\n]/','',htmlspecialchars_decode($j)))){
return ture;
}
return false;
}
?>