電子書籍の厳選無料作品が豊富!

function send_mail($name,$mail,$birth,$high,$pref,$hobby,$contents,$host,$ua,$time) {
session_unset();

if(!$name) $name = "NoName";
if(!$sbj) $sbj = "From Mailform+";

$mes = "$name($mail)$high 様からのお問い合わせです。\n\n";
$contents = str_replace("<br>", "\n", $contents);
if($url) $mes .= "●URL: $url\n\n";
$mes .= "【お問い合わせ内容】 (".date('Y.m.d (D) H:i:s', $time).")\n";
$mes .= "メールアドレス:::($mail)\n";
$mes .= "誕生日($birth)\n";
$mes .= "身長($high) cm\n";
$mes .= "お住い:::($pref)\n";
$mes .= "趣味:::($hobby)\n";
$mes .= "疑問点:::($msg)\n";
$mes .= "───────────────────────────────────\n";
$mes .= "$contents\n";
$mes .= "───────────────────────────────────\n";
$mes .= "$host\n$ua";

if(get_magic_quotes_gpc()) $mes = stripslashes($mes);
$mes = mb_convert_encoding($mes, "JIS", "SJIS");
$header = "From:" .mb_encode_mimeheader($name) ."<$mail>";

$send = mb_send_mail(RECIPIENT, $sbj, $mes, $header);
if($send) success("正常に送信されました");
else error("送信に失敗しました");
}
?>
上記PHPなのですが、送信自体は大丈夫なのですが、
誕生日・身長・お住い・趣味・疑問点 がメールを受信時に反映されません。 $mail と $name だけはちゃんと入力したとおりに出ます。
どの部分を訂正すれば正しくメールを受け取れますでしょうか・・・。
PHP初心者なので検討違いの質問をしていましたらすみません・・・。

A 回答 (3件)

ご質問のソースをそのままコピーして、send_mail(1,2,3,4,5,6,7,8,9,0); と適当な値を引数に与えて呼び出したら問題なく動作しました。

($msgは指定されてないので表示されませんでしたが)

$birth,$high,$pref,$hobby,$contents,$host,$ua,$time

にちゃんと値が入ってない可能性が大です。
echoなりファイルに書き出すなりしてみて、変数に値が入っているかチェックしてみてください。

この回答への補足

本当ですね・・・。
確認画面をみたら 未入力になってました。。。
http://www.xtrec.com/script_mf.htm
こちらのPHPスクリプトを使って、項目の追加をしたいのですが・・・。
ちゃんと値を入れるにはPHP自体を変更するのでしょうか。
それともテンプレ部分?を変更するのでしょうか・・。

補足日時:2006/11/11 11:35
    • good
    • 0

MailForm+ ver.0.26(JavaScript版)


をダウンロードして使ってみましたが、sample.phpではua等も表示されますので、改造の仕方がまずいのだと思います。

ソースもざっと見ましたが、テンプレートとphpの両方を変更する必要がありますね。たとえばbirthを追加するならテンプレート中のどこかに

<dd><input name="birth" type="text" size="25" value="<?php e($birth) ?>"></dd>

を追加したり、mail.php の関数 show_form()check_view(), check_post(), post_data(), send_main() に手を加えるなどの修正が必要です。
おそらく他のPHPスクリプトを探す方が早いような気がします。
    • good
    • 0

$mes .= "誕生日(".$birth.")\n";


という風に書かないといけないんじゃないかな。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!