'; } SendMail($_SESSION['SFM']['email'], $replySubject, $replyMessage, $replyAddress, $replyBcc); } unset($_SESSION['SFM']); include_once('sfm_completion.html'); // 送信完了画面(HTML) break; /* 入力データ処理 */ case 'CONFIRM': if (ereg('http://'.$_SERVER['HTTP_HOST'], $_SERVER['HTTP_REFERER']) && $refCheck) Err('外部から利用は出来ません'); session_cache_limiter('nocache'); session_start(); unset($_SESSION['SFM']); unset($_SESSION['hidden']); foreach ($_POST as $key => $value) { /*hidden作成*/ if($key != "mode") { if (is_array($value)) { unset(${$key}); foreach($value as $value2) { $_SESSION['hidden'] .= "\r\n"; } } else { $_SESSION['hidden'] .= "\r\n"; } } if (is_array($value)) $value = implode("\t", $value); if (!$ill_slash) $value = (!get_magic_quotes_gpc()) ? addslashes($value) : $value; if (!$ill_char) $value = EnCode($value, 'EUC-JP', $baseEnc); $value = mb_convert_kana($value, 'KV', 'EUC-JP'); $name = preg_replace('/(.+)_s$/', "$1", $key); if (preg_match('/_s$/', $key) && $value == '') { $_SESSION['SFM'][$name] = '::INPUT ERROR::'; $error = 1; } elseif ($name == 'email' && $value) { if (!preg_match("/^[\w\-\.]+\@[\w\-\.]+\.([a-z]+)$/", $value)) { $_SESSION['SFM']['email'] = '::EMAIL ERROR::'; $error = $email = 1; } else { $_SESSION['SFM']['email'] = $email = $value; } } elseif ($name == 'emailcheck') { if ($email != 1 && $email != $value) { $_SESSION['SFM']['email'] = '::EMAIL CHECK ERROR::'; $error = 1; } } elseif ($maxText && strlen($value) > $maxText) { $_SESSION['SFM'][$name] = '::MAXTEXT ERROR::'; $error = 1; } else { $_SESSION['SFM'][$name] = $value; } } $_SESSION['SFM']['InputErr'] = $error; $sfm_script = $script_name.((SID) ? '?'.strip_tags(SID) : ''); include_once('sfm_confirm.html'); // 確認画面用(HTML) break; /* 入力フォーム表示 */ default: session_cache_limiter('private_no_expire'); session_start(); unset($_SESSION['SFM']); foreach ($_POST as $key => $value) { if (is_array($key)) { ${$key}[] = $value; } else { ${$key} = $value; } } $sfm_script = $script_name; include_once('sfm_form.html'); // 入力フォーム用(HTML) } exit; /* ::セッションデータ整形(HTML) */ function FORM_DATA_H($name) { global $baseEnc, $maxText; $errArray = array( '::INPUT ERROR::'=>'必須項目です。', '::EMAIL ERROR::'=>'メールアドレスが正しくありません。', '::EMAIL CHECK ERROR::'=>'メールアドレスが一致しません', '::MAXTEXT ERROR::'=>'文字数が多すぎます('.number_format($maxText).'字まで)' ); $value = $_SESSION['SFM'][$name]; $value = (get_magic_quotes_gpc()) ? stripslashes($value) : $value; $value = str_replace("\t", "\n", $value); // 表示用に複数項目を改行 $value = nl2br(htmlspecialchars($value, ENT_QUOTES, 'EUC-JP')); $value = (preg_match('/::.+::/', $value)) ? ''.$errArray[$value].'' : $value; $value = ($value != '') ? $value : ' '; return EnCode($value, $baseEnc, 'EUC-JP'); } /* ::セッションデータ整形(MAIL) */ function FORM_DATA_M($name) { $value = $_SESSION['SFM'][$name]; $value = (get_magic_quotes_gpc()) ? stripslashes($value) : $value; $value = str_replace("\t", ",", $value); // メール用に複数項目をカンマ区切り return $value; } /* ::メール送信エンコード */ function SendMail($to, $sub, $msg, $from, $bcc) { global $scriptVersion; global $returnPath; $sub = EnCode($sub, 'JIS', 'EUC-JP'); $msg = EnCode($msg, 'JIS', 'EUC-JP'); $rn = array("\r\n", "\n", "\r"); $msg = str_replace($rn, "\n", $msg); // ヘッダ生成 $header = "From: $from\r\n"; $header .= "Bcc: $bcc\r\n"; $header .= "Mime-Version: 1.0\r\n"; $header .= "Content-Type: text/plain; charset=ISO-2022-JP\r\n"; $header .= "Content-Transfer-Encoding: 7bit"; $sub = '=?iso-2022-jp?B?'.base64_encode($sub).'?='; // Base64エンコード mail($to, $sub, $msg, $header); return; } /* ::ユーザー情報取得 */ function USERINFO() { return @gethostbyaddr($_SERVER['REMOTE_ADDR'])."\n" .$_SERVER['HTTP_USER_AGENT']."\n" .date("Y/m/d - H:i:s"); } /* ::文字エンコード変換 */ function EnCode($value, $chg, $org) { if (!extension_loaded('mbstring')) Err('mbstring関数が利用できません'); return @mb_convert_encoding($value, $chg, $org); } /* ::エラー表示HTML */ function Err($err) { echo << エラー:$err エラー : $err
EOM; exit; } ?>