みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

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

締切り済みの質問

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です。

と表示したいです。そのあとにメールフォームを続けるつもりです。
ご教授よろしくお願いします。

投稿日時 - 2005-12-30 21:37:17

QNo.1867844

困ってます

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

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

回答(2)

ANo.2

>その後、メールフォームを記入してもらって送信
>したいのですが、この選択されたものも表示され
>たまま届くように設定するにはどうすればよいで
>しょうか?

メール系の関数をつかって、メールサーバー経由で
おくってください。system系の関数でsendmailに
なげるのも手だと思います。
自分でなにもプログラムをしたくないならPHPは
やめた方がよいですよ。

参考URL:http://www.php.net/manual/ja/index.functions.php

投稿日時 - 2005-12-31 09:55:20

お礼

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

投稿日時 - 2006-01-04 15:41:49

ANo.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;
?>

投稿日時 - 2005-12-30 22:50:28

補足

ありがとうございます。
表示されるようになりました。

その後、メールフォームを記入してもらって送信したいのですが、
この選択されたものも表示されたまま届くように設定するにはどうすればよいでしょうか?

たびたび申し訳ございません。どうかご教授お願いいたします。

投稿日時 - 2005-12-30 23:13:25

あなたにオススメの質問