こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

foreachで取り出したデータをメールの内容に掲載したい

ショッピングカートを作成しているのですがforeach文で取り出した
データをそれぞれメールの内容に掲載してあげたいのですが
どうしてもうまくいきません。

ソースは以下のとおりです。

function kakunin_mail(){
foreach ($_SESSION['cart'] as $key => $value) {
$orderdata = "■購入商品:".$value['name'].$value['size']." 数量:".$value['kazu']."\n";
}
//日本語文字化け回避
mb_language('Japanese');
//送信元メールアドレス
$sendfrom = test@test.com
//送信メールタイトル
$mailTitle = "ご注文確認メール";
//送信メール内容
$maildata = "
$orderdata
";
//メールデータ送信
mb_send_mail(test@test.com, "$mailTitle", "$maildata", "From:$sendfrom");

}

無事にメールは送信されるのですが内容を確認すると最後に購入した商品の分しか
表示されません。
どのようにすればいいのか、どなたかお知恵をお貸し頂けますでしょうか?
よろしくお願いいたします。

投稿日時 - 2006-06-22 17:47:37

QNo.2231677

困ってます

質問者が選んだベストアンサー

がると申します。
んっと…とりあえず「文字列の代入」と「文字列の連結」の違いを把握するのが肝要かと思われます。
直接的には、
$maildata = "
$orderdata
";
の部分を
$maildata .= "
$orderdata
";
にしてください。また、あわせて、foreachの直前に
$maildata = "";
という行を入れてください(これを初期化と呼称します)。

投稿日時 - 2006-06-22 18:00:55

補足

がるさんご回答ありがとうございます!

【文字列の代入】と【文字列の連結】php.netで見直して
みました。ありがとうございます。

早速、maildata = "
$orderdata
";
の部分を
$maildata .= "
$orderdata
";
として$maildata ="";
とすると無事にメールに掲載されるようになりました。
ほんとうにありがとうございます。

投稿日時 - 2006-06-23 09:07:17

お礼

解決いたしましたので質問を閉じさせていただきたいと
おもいます。がる様本当にありがとうございました!

投稿日時 - 2006-06-23 10:07:36

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問