test07.html のチェックボックス AとB、どちらにもチェックをいれ、

テキストボックスにメールアドレスを入れ、送信します。
test07.phpで
mail()関数を使いテキストボックスに入力されたメールアドレスに送信されますが、
本文の内容($subjectの内容)が
A<br>B<br>
と出てきてしまいます。
本文の内容($subjectの内容)を
A
B
としたいのですが、わかりません。(AとBの間は改行)
お手数ですが、test07.php を書き換えてください。
----test07.html
<html>
<head>
<title>form</title>
</head><body>
<p>お好きなモノをお選びください。</p>
<form name="form1" method="post" action="test07.php">
<INPUT type=checkbox value="A" name=id[] >A<BR>
<INPUT type=checkbox value="B" name=id[] >B<BR>
<INPUT type=test name="mail" ><BR>
<input type="submit" name="Submit" value="送信">
</form>
</body>
</html>

---test07.php
<?php
$subject = "";
foreach ( $_POST['id'] as $value ) {
echo $value;
$subject = $subject.$value."<br>";
}
$s_mail = $_POST['mail'];
echo $s_mail;
echo $subject;
mail ($s_mail, "件名", $subject, "From: k*****@****.ocn.ne.jp");
?>

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2010/11/02 13:38:49
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

ポイント60pt

メールで送信なら もしかして%0d%0aでいけるかもしれません。


http://www.tagindex.com/html_tag/link/a_mailto_sub.html

id:kohhi

これはやってみますが、フォームからPOSTしないとまずいかな。

やってみます。

早速お返事いただきありがとうございました。

取り急ぎ御礼まで。

2010/10/27 11:19:51
  • id:a-kuma3
    <?php
    $subject = "";
    foreach ( $_POST['id'] as $value ) {
    echo $value;
    $subject = $subject.$value."\n"; ★
    }
    $s_mail = $_POST['mail'];
    echo $s_mail;
    echo "<pre>"; ★
    echo $subject;
    echo "</pre>"; ★
    mail ($s_mail, "件名", $subject, "From: k*****@****.ocn.ne.jp");
    ?>


    では、駄目なのですか?
  • id:rouge_2008
    テキストメールでしたら、"\n"で改行されて表示されないでしょうか?
    サーバー、PHPのバージョン、メールサーバー、メールソフト等、テスト環境を教えてください。

    ブラウザでの表示は、HTMLの改行タグでないと改行されませんので、表示用の変数を分けてはいかがでしょうか?
    あるいは、$subject変数でブラウザで確認表示後、メール送信処理の前に<br>を削除してはいかがでしょうか?

    foreach ( $_POST['id'] as $value ) {
    $subject = $subject.$value."<br>\n";
    }

    // メール送信処理前<br>を削除
    $subject = str_replace("<br>", "", $subject);

    http://www.php.net/manual/ja/function.str-replace.php

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません