• 締切済み

phpでのメールフォームの作成について

HTMLで <form action="mail.php" method="post"> <input name="aaa" type="checkbox" id="aaa" value="AAA" checked> <input name="bbb" type="checkbox" id="bbb" value="BBB" checked> <input name="ccc" type="checkbox" id="ccc" value="CCC" checked> </form> として、次に進むボタンを押すとmail.phpに飛び mail.phpでは、チェックされたものだけを表示したいのですが、どうすればよいでしょうか? もし、AAAとBBBが選ばれたら あなたが選んだのは AAA、BBBです。 と表示したいです。そのあとにメールフォームを続けるつもりです。 ご教授よろしくお願いします。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>その後、メールフォームを記入してもらって送信 >したいのですが、この選択されたものも表示され >たまま届くように設定するにはどうすればよいで >しょうか? メール系の関数をつかって、メールサーバー経由で おくってください。system系の関数でsendmailに なげるのも手だと思います。 自分でなにもプログラムをしたくないならPHPは やめた方がよいですよ。

参考URL:
http://www.php.net/manual/ja/index.functions.php
noname#116755
質問者

お礼

関数を使って、sendmailになげることが出来ました。 丁寧なご教授ありがとうございました。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

まず、この質問に不要なidは削ります。 valueとnameを両方同じように設定するのは意味がありません。 簡単にするならこんな感じでphpが配列を受け取れるようにして あげると良いでしょう。 <form action="mail.php" method="post"> <input name="member[]" type="checkbox" value="AAA" checked>AAA <input name="member[]" type="checkbox" value="BBB" checked>BBB <input name="member[]" type="checkbox" value="CCC" checked>CCC <input type="submit" value="send"> </form> mail.phpではmember配列があるかどうかを判断して、ある場合は foreachで廻して文字列をつないでいけばよいでしょう。 <?PHP if(is_array($member)){ $txt ="あなたの選んだのは"; foreach ($member as $key=>$val){ if ($key==0){ $txt .=$val; }else{ $txt .="、".$val; } } $txt.="です"; }else{ $txt="あなたは誰も選んでません"; } print $txt; ?>

noname#116755
質問者

補足

ありがとうございます。 表示されるようになりました。 その後、メールフォームを記入してもらって送信したいのですが、 この選択されたものも表示されたまま届くように設定するにはどうすればよいでしょうか? たびたび申し訳ございません。どうかご教授お願いいたします。