メールフォームからcsvファイルに書きこむ方法を教えてください
メールフォームを作成し、項目をcsvファイルへ書き込みたいのですが
<?php
htmlFooter();
exit(0);
}
}
//--- メールのレイアウトの編集 --- 開始 ------------------->
$body="「".$sbj."」からの情報です\n\n";
$body.="-------------------------------------------------\n\n";
foreach($_POST as $key=>$var) {
$key = strtr($key, $string_from, $string_to);
if(get_magic_quotes_gpc()) $var = stripslashes($var);
if($var == "eweb_submit") ;
else $body.="[".$key."] ".$var."\n";
}
$body.="\n-------------------------------------------------\n\n";
$body.="送信日時:".date( "Y/m/d (D) H:i:s", time() )."\n";
//$body.="ホスト名:".getHostByAddr(getenv('REMOTE_ADDR'))."\n\n";
//--- 終了 --->
if($remail == 1) {
//--- 差出人への送信確認メールのレイアウトの編集 --- 開始 ->
$rebody="ありがとうございました。\n";
$rebody.="以下の内容が送信されました。\n\n";
$rebody.="-------------------------------------------------\n\n";
foreach($_POST as $key=>$var) {
$key = strtr($key, $string_from, $string_to);
if(get_magic_quotes_gpc()) $var = stripslashes($var);
if($var == "eweb_submit") ;
else $rebody.="[".$key."] ".$var."\n";
}
$rebody.="\n-------------------------------------------------\n\n";
$rebody.="送信日時:".date( "Y/m/d (D) H:i:s", time() )."\n";
$reto = $_POST['email'];
$rebody=mb_convert_encoding($rebody,"JIS","SHIFT_JIS");
$resbj="=?iso-2022-jp?B?".base64_encode(mb_convert_encoding($resbj,"JIS","SHIFT_JIS"))."?=";
$reheader="From: $to\nReply-To: ".$to."\nContent-Type: text/plain;charset=iso-2022-jp\nX-Mailer: PHP/".phpversion();
//--- 終了 --->
}
$body=mb_convert_encoding($body,"JIS","SHIFT_JIS");
$sbj="=?iso-2022-jp?B?".base64_encode(mb_convert_encoding($sbj,"JIS","SHIFT_JIS"))."?=";
if($from_add == 1) {
$from = $_POST['email'];
$header="From: $from\nReply-To: ".$_POST['email']."\nContent-Type: text/plain;charset=iso-2022-jp\nX-Mailer: PHP/".phpversion();
} else {
$header="Reply-To: ".$_POST['email']."\nContent-Type: text/plain;charset=iso-2022-jp\nX-Mailer: PHP/".phpversion();
}
if($chmail == 0 || $sendm == 1) {
mail($to,$sbj,$body,$header);
if($remail == 1) { mail($reto,$resbj,$rebody,$reheader); }
}
else { htmlHeader();
?>
<!--- 送信確認画面のレイアウトの編集 --- 開始 ------------->
以下の内容で間違いがなければ、「送信する」ボタンを押してください。<BR><BR>
<FORM action="<? echo $script; ?>" method="POST">
<? echo $err_message; ?>
<TABLE width="400" bgcolor="#cccccc" cellspacing="1" cellpadding="3">
<?php
foreach($_POST as $key=>$var) {
$key = strtr($key, $string_from, $string_to);
if(get_magic_quotes_gpc()) $var = stripslashes($var);
$var = htmlspecialchars($var);
print("<TR bgcolor=#ffffff><TD bgcolor=#eeeeee>".$key."</TD><TD>".$var);
?>
<INPUT type="hidden" name="<?= $key ?>" value="<?= $var ?>">
<?php
print("</TD></TR>\n");
}
?>
</TABLE>
<BR>
<INPUT type="hidden" name="eweb_set" value="eweb_submit">
<INPUT type="submit" value="送信する">
<INPUT type="button" value="前画面に戻る" onClick="history.back()">
</FORM>
<!--- 終了 --->
お礼
大変ご丁寧な解説ありがとうございました。 ご解説頂いてから、内容を自分なりに噛み砕き、きちんと理解し全て解決するまでに時間がかかってしまったため、お礼も遅くなってしまいました。 以前base64や&jisは教えて頂いたりネットに載っていたものを、特に$_の使い方が非常に苦手なため(相変わらず$_とすべきところと$_[0]とすべきところがよく分かっていませんが)、内容を理解しないまま使用し、そのためreturnのスペルに間違いがあることすら気づかず自分の仕様にはどこかマッチしないんだと頭から決めつけておりました。 今回グローバル変数を必要以上に使わないことも非常に勉強になりました。 本当にありがとうございました。