';
}
SendMail($_SESSION['SFM']['email'], $replySubject, $replyMessage, $replyAddress, $replyBcc);
}
unset($_SESSION['SFM']);
include_once('sfm_completion.html'); // 送信完了画面(HTML)
break;
/* 入力データ処理 */
case 'CONFIRM':
if ($_SERVER['HTTP_REFERER'] != 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] && $refCheck) Err('外部から利用は出来ません');
session_cache_limiter('nocache');
session_start();
unset($_SESSION['SFM']);
foreach ($_POST as $key => $value) {
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 == 'birth_year' && $value) {
if (!ereg("^[0-9]+$", $value)) {
$_SESSION['SFM']['birth_year'] = '::NUMBER ERROR::';
$error = $birth_year = 1;
} else {
$_SESSION['SFM']['birth_year'] = $birth_year = $value;
}
} elseif ($name == 'zipcode1' && $value) {
if (!ereg("^[0-9]+$", $value)) {
$_SESSION['SFM']['zipcode1'] = '::NUMBER ERROR::';
$error = $zipcode1 = 1;
} else {
$_SESSION['SFM']['zipcode1'] = $zipcode1 = $value;
}
} elseif ($name == 'zipcode2' && $value) {
if (!ereg("^[0-9]+$", $value)) {
$_SESSION['SFM']['zipcode2'] = '::NUMBER ERROR::';
$error = $zipcode2 = 1;
} else {
$_SESSION['SFM']['zipcode2'] = $zipcode2 = $value;
}
} elseif ($name == 'mh1' && $value) {
if (!ereg("^[0-9]+$", $value)) {
$_SESSION['SFM']['mh1'] = '::NUMBER ERROR::';
$error = $mh1 = 1;
} else {
$_SESSION['SFM']['mh1'] = $mh1 = $value;
}
} elseif ($name == 'mh2' && $value) {
if (!ereg("^[0-9]+$", $value)) {
$_SESSION['SFM']['mh2'] = '::NUMBER ERROR::';
$error = $mh2 = 1;
} else {
$_SESSION['SFM']['mh2'] = $mh2 = $value;
}
} elseif ($name == 'mh3' && $value) {
if (!ereg("^[0-9]+$", $value)) {
$_SESSION['SFM']['mh3'] = '::NUMBER ERROR::';
$error = $mh3 = 1;
} else {
$_SESSION['SFM']['mh3'] = $mh3 = $value;
}
} elseif ($name == 'car_year' && $value) {
if (!ereg("^[0-9]+$", $value)) {
$_SESSION['SFM']['car_year'] = '::NUMBER ERROR::';
$error = $car_year = 1;
} else {
$_SESSION['SFM']['car_year'] = $car_yearF = $value;
}
} 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 == 'pc_email' && $value) {
if (!preg_match("/^[\w\-\.]+\@[\w\-\.]+\.([a-z]+)$/", $value)) {
$_SESSION['SFM']['pc_email'] = '::EMAIL ERROR::';
$error = $pc_email = 1;
} else {
$_SESSION['SFM']['pc_email'] = $pc_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']);
$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).'字まで)',
'::NUMBER ERROR::'=>'半角数字で入力して下さい'
);
$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 .= "X-Mailer: Sapphirus.Biz FormMail (PHP $scriptVersion)\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エンコード
if ($returnPath) {
$rtn = '-f'.$returnPath;
mail($to, $sub, $msg, $header, $rtn);
} else {
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