'}}
/*
$checkbox_1 = array (
'HP' => 'HP
',
);
if($_SERVER['REQUEST_METHOD'] == 'POST') {
foreach($_POST as $k => $v) {
if($k == 'catalog1'){
foreach($v as $vv){
foreach($checkbox_1 as $selected_k => $selected_v ) {
if($vv == $selected_k){
$checkbox_selected_1[] = $selected_k;
}
}
}
}
}
}
$smarty->assign('checkbox_1', $checkbox_1);
$smarty->assign('checkbox_selected_1', $checkbox_selected_1);
*/
// =========================================================
// 入力データチェック
// =========================================================
// カスタムのエラーは入力データチェックの項目に直接記載してください。
$prm_check = array (
'name' => 'お名前をご入力ください',
'name_kana' => 'フリガナを入力してください',
'mail' => 'メールアドレスを入力してください',
'pref' => 'ご住所を選択してください',
'confirm' => '送信確認をチェックしてください',
);
$check_mail = 'true';
// =========================================================
// Logic
// =========================================================
// フォームデータの変換
$param = '';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$param = $_POST;
$error = chk_data($_POST,$prm_check);
if (isset($error) ) {
$param['act'] = DEF_ACT;
$smarty->assign('error', $error);
}
}
// 処理ページの決定
$act = isset($param['act']) ? $param['act'] : DEF_ACT;
$screen_function_name = 'screen_' . $act;
if (!function_exists($screen_function_name)) {
exit();
}
call_user_func($screen_function_name, $param);
$temp_name = $act . '.html';
// テンプレートを表示
$smarty->assign('url', $php_self);
$smarty->display($template_name.$temp_name);
// =========================================================
// 入力画面
// =========================================================
function screen_entry($param) {
global $smarty;
$smarty->assign('prm', $param);
$_SESSION['entry'] = true;
return TRUE;
}
// =========================================================
// 確認画面
// =========================================================
function screen_confirm($param) {
global $smarty;
// actの初期化
unset($param['act']);
$smarty->assign('prm', $param);
$smarty->assign('hidden', $param);
return TRUE;
}
// =========================================================
// 完了画面
// =========================================================
function screen_submit($param) {
global $smarty;
global $mail_txt;
global $mail_copy;
global $log_file;
// ログ書き出し
if($log_file != ""){
$log_file = APP_DIR .'data'. DS . $log_file;
$handle = @fopen($log_file, 'a+');
if($handle){
flock($handle, LOCK_EX);
rewind($handle);
foreach($param as $v) {
if(is_array($v)) {
foreach($v as $vv) {
$put_data[] = str_replace(array("\r\n", "\n", "\r"),'
', $vv);
}
}else{
$put_data[] = str_replace(array("\r\n", "\n", "\r"),'
', $v);
}
}
$put_data = implode(',', $put_data . '\n');
fputs($handle, $put_data);
flock($handle, LOCK_UN);
fclose($handle);
}
}
extract($param);
// メール送信
require_once ($mail_txt);
#if( $_SESSION['entry'] === true ) {
mb_language('Japanese');
mb_internal_encoding( APP_ENC );
//管理者へメール
if(defined('MAIL_TO')){
if(!mb_send_mail(MAIL_TO, $mailtitle, $temp , 'From:'. MAIL_TO)) {
echo 'メール送信が失敗しました。';
exit();
}
}
//ユーザー($from)へメール
if(!empty($mail) && $mail_copy == 1){
if(!mb_send_mail($mail, $mailtitle, $temp , 'From:'. MAIL_TO)) {
echo '控えのメール送信が失敗しました。';
exit();
}
}
#}else{
# echo 'タイムアウトエラー。お手数ですが再送信してください。';
# exit();
#}
session_destroy();
return TRUE;
}
// =========================================================
// 入力データチェック
// =========================================================
function chk_data($prm_data,$prm_check) {
global $check_mail;
$error = null;
foreach ($prm_data as $k => $v) {
foreach ($prm_check as $kk => $vv) {
if($k == $kk){
if(empty($v)) {
$error[$k] = $vv;
}
}
}
}
if (!empty($prm_data['mail']) && (chk_mail($prm_data['mail']) === false || $prm_data['mail'] != $prm_data['mail_confirm']) ){
$error['mail_confirm'] = 'メールアドレスをご確認ください';
}
return $error;
}
function chk_mail($mail, $domainCheck = false)
{
if (preg_match('/^[a-zA-Z0-9\.\_\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+\@(\[?)[a-zA-Z0-9\-\.]+'.
'\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/', $mail)) {
if ($domainCheck && function_exists('checkdnsrr')) {
list (, $domain) = explode('@', $mail);
if (checkdnsrr($domain, 'MX') || checkdnsrr($domain, 'A')) {
return true;
}
return false;
}
return true;
}
return false;
}
?>