"; echo "もう一度戻って再度変更処理を行ってください。"; echo "
"; echo "戻る "; } ?> $val) { if($val == "confirm_submit") $sendmail = 1; if($key == $Email) $post_mail = h($val); if($key == $Email && $mail_check == 1 && !empty($val)){ if(!checkMail($val)){ $errm .= "

【".$key."】はメールアドレスの形式が正しくありません。

\n"; $empty_flag = 1; } } } } //差出人に届くメールをセット if($remail == 1) { $userBody = mailToUser($_POST,$dsp_name,$remail_text,$mailFooterDsp,$mailSignature,$encode); $reheader = userHeader($refrom_name,$to,$encode); $re_subject = "=?iso-2022-jp?B?".base64_encode(mb_convert_encoding($re_subject,"JIS",$encode))."?="; } $adminBody = mailToAdmin($_POST,$subject,$mailFooterDsp,$mailSignature,$encode,$confirmDsp); $header = adminHeader($userMail,$post_mail,$BccMail,$to); $subject = "=?iso-2022-jp?B?".base64_encode(mb_convert_encoding($subject,"JIS",$encode))."?="; if(($confirmDsp == 0 || $sendmail == 1) && $empty_flag != 1){ mail($to,$subject,$adminBody,$header); if($remail == 1) mail($post_mail,$re_subject,$userBody,$reheader); } //---------------------------------------------------------------------- // 関数定義(START) //---------------------------------------------------------------------- function checkMail($str){ $mailaddress_array = explode('@',$str); if(preg_match("/^[\.!#%&\-_0-9a-zA-Z\?\/\+]+\@[!#%&\-_0-9a-z]+(\.[!#%&\-_0-9a-z]+)+$/", "$str") && count($mailaddress_array) ==2){ return true; }else{ return false; } } function h($string) { global $encode; return htmlspecialchars($string, ENT_QUOTES,$encode); } function sanitize($arr){ if(is_array($arr)){ return array_map('sanitize',$arr); } return str_replace("\0","",$arr); } //Shift-JISの場合に誤変換文字の置換関数 function sjisReplace($arr,$encode){ foreach($arr as $key => $val){ $key = str_replace('\','ー',$key); $resArray[$key] = $val; } return $resArray; } //送信メールにPOSTデータをセットする関数 function postToMail($arr){ $resArray = ''; foreach($arr as $key => $val){ $out = ''; if(is_array($val)){ foreach($val as $item){ $out .= $item . ', '; } $out = rtrim($out,', '); }else{ $out = $val; } if(get_magic_quotes_gpc()) { $out = stripslashes($out); } if($out != "confirm_submit" && $key != "httpReferer") { $resArray .= "【 ".$key." 】 ".$out."\n"; } } return $resArray; } //確認画面の入力内容出力用関数 function confirmOutput($arr){ $html = ''; foreach($arr as $key => $val) { $out = ''; if(is_array($val)){ foreach($val as $item){ $out .= $item . ', '; } $out = rtrim($out,', '); }else { $out = $val; }//チェックボックス(配列)追記ここまで if(get_magic_quotes_gpc()) { $out = stripslashes($out); } $out = nl2br(h($out));//※追記 改行コードを
タグに変換 $key = h($key); $html .= "".$key."".$out; $html .= '","
"),"",$out).'" />'; $html .= "\n"; } return $html; } //管理者宛送信メールヘッダ function adminHeader($userMail,$post_mail,$BccMail,$to){ $header = ''; if($userMail == 1 && !empty($post_mail)) { $header="From: $post_mail\n"; if($BccMail != '') { $header.="Bcc: $BccMail\n"; } $header.="Reply-To: ".$post_mail."\n"; }else { if($BccMail != '') { $header="Bcc: $BccMail\n"; } $header.="Reply-To: ".$to."\n"; } $header.="Content-Type:text/plain;charset=iso-2022-jp\nX-Mailer: PHP/".phpversion(); return $header; } //管理者宛送信メールボディ function mailToAdmin($arr,$subject,$mailFooterDsp,$mailSignature,$encode,$confirmDsp){ $adminBody="メンバー申し込み依頼がありましたので、\n内容を確認し下記URLから承認を行ってください。\n\nhttp://fieldcampus.city.tsushima.nagasaki.jp/member/admin/\n\n"; $adminBody .="===========================\n\n"; $adminBody.= postToMail($arr);//POSTデータを関数からセット $adminBody.="\n===========================\n"; $adminBody.="送信された日時:".date( "Y/m/d (D) H:i:s", time() )."\n"; $adminBody.="送信者のIPアドレス:".@$_SERVER["REMOTE_ADDR"]."\n"; $adminBody.="送信者のホスト名:".getHostByAddr(getenv('REMOTE_ADDR'))."\n"; if($confirmDsp != 1){ $adminBody.="問い合わせのページURL:".@$_SERVER['HTTP_REFERER']."\n"; }else{ $adminBody.="問い合わせのページURL:".@$arr['httpReferer']."\n"; } if($mailFooterDsp == 1) $adminBody.= $mailSignature; return mb_convert_encoding($adminBody,"JIS",$encode); } //ユーザ宛送信メールヘッダ function userHeader($refrom_name,$to,$encode){ $reheader = "From: "; if(!empty($refrom_name)){ $default_internal_encode = mb_internal_encoding(); if($default_internal_encode != $encode){ mb_internal_encoding($encode); } $reheader .= mb_encode_mimeheader($refrom_name)." <".$to.">\nReply-To: ".$to; }else{ $reheader .= "$to\nReply-To: ".$to; } $reheader .= "\nContent-Type: text/plain;charset=iso-2022-jp\nX-Mailer: PHP/".phpversion(); return $reheader; } //ユーザ宛送信メールボディ function mailToUser($arr,$dsp_name,$remail_text,$mailFooterDsp,$mailSignature,$encode){ $userBody = ''; if(isset($arr[$dsp_name])) $userBody = h($arr[$dsp_name]). " 様\n"; $userBody.= $remail_text; $userBody.="\n===========================\n\n"; $userBody.= postToMail($arr);//POSTデータを関数からセット $userBody.="\n===========================\n\n"; $userBody.="送信日時:".date( "Y/m/d (D) H:i:s", time() )."\n"; if($mailFooterDsp == 1) $userBody.= $mailSignature; return mb_convert_encoding($userBody,"JIS",$encode); } //必須チェック関数 function requireCheck($require){ $res['errm'] = ''; $res['empty_flag'] = 0; foreach($require as $requireVal){ $existsFalg = ''; foreach($_POST as $key => $val) { if($key == $requireVal && empty($val)) { $res['errm'] .= "

【".$key."】は必須入力項目です。

\n"; $res['empty_flag'] = 1; $existsFalg = 1; break; }elseif($requireVal == $key){ $existsFalg = 1; break; } } if($existsFalg != 1){ $res['errm'] .= "

【".$requireVal."】が未選択です。

\n"; $res['empty_flag'] = 1; } } return $res;//連想配列で値を返す } //リファラチェック function refererCheck($Referer_check,$Referer_check_domain){ if($Referer_check == 1 && !empty($Referer_check_domain)){ if(strpos($_SERVER['HTTP_REFERER'],$Referer_check_domain) === false){ return exit('

リファラチェックエラー。フォームページのドメインとこのファイルのドメインが一致しません

'); } } } function copyright(){ echo ''; } ?>