Postでデータを送信するようにしているのですが、フォームの数が多く、情報を受け取る$変数が20個くらいあります。
mb_send_mail関数を使ってメールを送るとすると、
mb_language("Japanese");
mb_internal_encoding("SHIFT-JIS");
mb_send_mail($mailto,$subject,$body,$header);
のようになると思いますが、
本文($body)に入れる$変数が多い場合は、どのように記述すればよいでしょうか?
分かりやすく言うと、
mb_send_mail($mailto,$subject,[この部分に$変数の情報を20個ほど入れたいです],$header);
急いでいるので、明確なお答をもらえればすぐに終了します。
ポイントもはずみます。
宜しくお願い致します。
$body = <<<BODY $hoge $hage1 $hage2 $fuga1 $fuga2 BODY; mb_send_mail($mailto,$subject,$body,$header);
ヒアドキュメントを使用する。
変数が20個前後もあるということなので1つにまとめる式と
メールを送る操作の2行にすると良いかと思います。
$body = $a . $b . $c 以下略;
mb_send_mail($mailto,$subject,$body,$header);
ご回答ありがとうございます。
変数を連結させるのに.を使うんですね。
前に一度使ったきりで忘れていました。
やはりこちらも色々と代用できそうですね!
大変参考になりました。
$body として送信したい体裁を作成しておけばよいのではないでしょうか。
変数への代入ですが、ヒアドキュメントを使用すると簡単にできるかと思います。
http://beginners.atompro.net/htm/faqphp/heardoc.shtml
ヒアドキュメント内は自由に記述できますが、変数は展開されるので下記のように書くことができます。
<?php $productName = "はてな"; $price ="10,000"; $number =5; $body = <<<_BODY 商品名:$productName 価 格:$price 注文数:$number : : _BODY; echo $body; ?>
実行結果
商品名:はてな
価 格:10,000
注文数:5
:
:
ご回答ありがとうございます。
実行結果を見せて頂けたのでとてもわかりやすかったです。
このように項目ごとに並べたいと思っていたので、とても参考になりました。
メール内容はこれで作ろうと思います。
> mb_send_mail($mailto,$subject,[この部分に$変数の情報を20個ほど入れたいです],$header);
mb_send_mail($mailto,$subject,$data1.$data2.$data3.$data4.$data5.~.$data20,$header);
というように連結する事は出来ないのでしょうか?
他にも
$body = <<<EOL お申込内容は以下の通りです。 おなまえ:{$data1} 住所 :{$data2} 希望商品 {$data3} : {$data4} 個 ... 備考 :{$data20} EOL;
なんて感じで、メール本文を作りさえすればよいと思います。
ご回答ありがとうございます。
今回は申込みメールフォームを作るので下の方法がよさそうですね。
こんなに便利なものがあったとは知りませんでした。
大変参考になりました。
回答者 | 回答 | 受取 | ベストアンサー | 回答時間 | |
---|---|---|---|---|---|
1 | chatii | 3回 | 2回 | 1回 | 2008-12-02 12:56:57 |
2 | shellcat | 6回 | 5回 | 0回 | 2008-12-02 15:34:05 |
3 | kaijikaiji | 40回 | 36回 | 0回 | 2008-12-03 10:20:21 |
ご回答ありがとうございます。
ヒアドキュメントというものは知りませんでした。
色々と代用できそうですね☆
メール内容はこれで作ろうと思います。
大変参考になりました。