お問い合わせフォーム、その2 | code225

code225

WEBプログラミングのメモ。PHP、JavaScript、HTML、MySQLなど。

基本形を元に修正を追加。

 確認用チェックを追加。
 送信後の画面を追加。

<?php 
/*履歴
2012/10/05 基本設定に確認と送信後の画面を追加。
*/

#-- ■基本設定 ----------------------------

#タイトル
$title = "お問い合わせ";

#宛先
$mailto = "uketori@gmail.com";

#色
$bcolor = "#99cc66";

#ホーム
$home = "./home.html";

#ホーム表示(文字・アイコン)例)<img src=img/home.gif border=0 width=16 height=16>
$homeic = "ホーム";

#フッター
$footer = "- web site -";

#-- ■基本設定 ----------------------------

$error = "";

#日付取得
$date_c = date("Y/m/d H:i:s");

// 言語・エンコーディング 
mb_language("Ja") ; 
mb_internal_encoding("utf8") ; 

// POSTされた場合、
if ($_SERVER["REQUEST_METHOD"]=="POST"){ 
extract($_POST);
$subject  = "【WEBお問い合わせ】 - ".$fname." さん"; 

if (isset($_POST['submit'])){ 
$error=""; 
// ■エラーチェック 
$mailto    = mb_convert_kana($mailto,"a","utf8"); 
$mailfrom= mb_convert_kana($mailfrom,"a","utf8"); 

if (trim($fname)==""){$error .="・ 名前を入力して下さい。<br>\n"; $e++;}
if (trim($mailfrom)==""){$error .="・ Eメールを入力して下さい。<br>\n"; $e++;}
elseif(!eregi("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}$",$mailfrom)){$error .="・ Eメールを正しく入力して下さい。<br>\n"; $e++;}
if (trim($yubin)==""){$error .="・ 〒を入力して下さい。<br>\n"; $e++;}
if (trim($add1)==""){$error .="・ 住所1を入力して下さい。<br>\n"; $e++;}
if (trim($add2)==""){$error .="・ 住所2を入力して下さい。<br>\n"; $e++;}
if (trim($content)==""){$error .="・ 内容を入力して下さい。<br>\n"; $e++;}

$body .= "ホームページよりお問い合わせ\n";
$body .= "日時: $date_c\n";
$body .= "--------------------------------------------------------------------\n";
$body .= "名前: $fname\n";
$body .= "Eメール: $mailfrom\n";
$body .= "〒: $yubin\n";
$body .= "住所1: $add1\n";
$body .= "住所2: $add2\n\n";
$body .= "$content\n\n";
$body .="\n\n"; 
$body .="--------------------------------------------------------------------\n"; 
$body .="Mail From http://www./\n\n"; 

// Headerの整形 
$header="From:" .mb_encode_mimeheader($fname) ."<" .$mailfrom .">"; 

// 確認を表示
if ($error=="" and $kakunin==""){ 
$error = "よろしければ確認をクリックし、送信して下さい。<br>\n";
$kaform = "<input type=checkbox name=kakunin value=yes><font class=red>確認</font>  ";
}

// ■メール送信 
if ($error=="" and $kakunin=="yes"){ 
$boRtn=mb_send_mail($mailto,$subject,$body,$header); 
if ($boRtn){ 
$error="メールを送信しました。<br>\n";
//リセット
$mailfrom=""; 
$fname=""; 
$yubin=""; 
$add1=""; 
$add2=""; 
$subject=""; 
$content=""; 
}
else{ 
$error="メールの送信に失敗しました。<br>\n"; 
$kanryo = "yes"; #完了
?> 
<HTML>  
<HEAD>  
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=utf-8"> 
<META HTTP-EQUIV="Cache-control" CONTENT="no-cache"> 

<STYLE TYPE="text/css"> 
<!--
#contents{
width: 650;
heitht: 800;
position: absolute;
top:10%;
left: 20%;
}
h1{
font-size: 140%;
text-align: left;
border-left: 15px solid <? echo $bcolor; ?>;
color: <? echo $bcolor; ?>;
line-height: 150%;
padding-left: 15px;
}
.red{font-size: 80%; color: #FF0000; line-height: 120%;}
.err{font-size: 80%; color: #FF0000; line-height: 120%;}
body,{font-size: 100%; line-height: 120%;}
#footer{
font-size: 90%;
color: #000000;
text-align: center;
border-top: 1px solid #DCDCDC;
margin-top:15px;
padding-top: 10px;
}
-->
</STYLE>


<TITLE><? echo $title; ?></TITLE>  
</HEAD>  
<BODY BGCOLOR="#ffffff" leftmargin="5"> 

<A HREF="<? echo $home; ?>"><? echo $homeic; ?></A>

<BR>

<div id="contents">
<h1 align=left><? echo $title; ?></h1><BR>

<?php 
// エラー表示 
if ($error!=""){echo "<font class=err>$error</font>";} 
?>  
<BR>

<?php if($kanryo==""): ?>
<!-- ★入力フォーム -->
<FORM ACTION="<?php echo $_SERVER['SCRIPT_NAME']; ?>" METHOD="POST">
<TABLE BORDER="0" CELLSPACING="1" CELLPADDING="5" width="100%" bgcolor="<? echo $bcolor; ?>">

<TR>
<TD width="20%">名前:</TD>
<TD ALIGN="left" bgcolor="#FFFFFF">
<INPUT TYPE="text" NAME="fname" VALUE="<? if (isset($fname)){echo $fname;} ?>" SIZE="30"></TD>
</TR>

<TR>
<TD>Eメール:</TD> 
<TD ALIGN="left" bgcolor="#FFFFFF">
<INPUT TYPE="text" NAME="mailfrom" VALUE="<? if (isset($mailfrom)){echo $mailfrom;} ?>" SIZE="50"></TD>
</TR>

<TR>
<TD>住所:</TD> 
<TD ALIGN="left" bgcolor="#FFFFFF">
〒 <INPUT TYPE="text" NAME="yubin" VALUE="<? if (isset($yubin)){echo $yubin;} ?>" SIZE="8"> <small>例)100-0023</small><br>
<INPUT TYPE="text" NAME="add1" VALUE="<? if (isset($add1)){echo $add1;} ?>" SIZE="50"> <small>住所1 (都道府県・市町村)</small><br>
<INPUT TYPE="text" NAME="add2" VALUE="<? if (isset($add2)){echo $add2;} ?>" SIZE="50"> <small>住所2 (番地・ビル)</small></TD>
</TR>

<TR>
<TD valign="top"><br>内容:</TD>
<TD ALIGN="left" bgcolor="#FFFFFF">
<TEXTAREA COLS="60" ROWS="20" NAME="content" WRAP="soft"><? if (isset($content)){echo $content;} ?></TEXTAREA></TD>
</TR>

<TR>
<TD>&nbsp;</TD>
<TD bgcolor="#FFFFFF"><? echo $kaform; ?><INPUT TYPE="submit" NAME="submit" VALUE="  送信する  "></TD>
</TR>

</TABLE>
</FORM>
<?php endif; ?>

<?php if($kanryo=="yes"): ?>
<!-- ★完了画面 -->
お問い合わせありがとうございました。<br><br>
内容についてはおってご連絡致します。<br><br><br><br><br><br>
<?php endif; ?>

<BR>
<div id="footer"><? echo $footer; ?></div>
</div>

</BODY>
</HTML>