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

解決済みの質問

メールフォームで送信

ラジオボタンとチェックボックスを選択しその結果をメールフォームにて送信出来るようにしたいのですが、可能でしょうか?
ラジオボタンとチェックボックスの選択はこちらで
http://okwave.jp/qa/q8072037.html
これをメールフォームで送信するのですが、

最後にメールフォームを付け加えました。
これで、ラジオボタンとチェックボックスの選択されたものと合計も一緒に送信は可能でしょうか?
皆様ご教授の程お願いします。

<br>
下記の項目もどうぞ
<br>
<font color="#ff0000" size="1"><b> ※ </b></font>のついている項目は<font
color="#ff0000"><b>必須</b></font>です。
<form method="post" action="CGIのURI"><br>
<p> <br>
<font color="#ff0000" size="1"><b> ※ </b></font>氏名:<input name="氏名"
type="text"> <br>
<font color="#ff0000" size="1"><b> ※ </b></font>年齢:<input name="年齢"
type="text"> <br>
<font color="#ff0000" size="1"><b> ※ </b></font>メールアドレス <input
name="mail" class="form-textline01" maxlength="100" value=""
type="text"><br>
<font color="#ff0000" size="1"><b> ※ </b></font>住 所 <input
name="address" class="form-textline03" maxlength="1000" value=""
type="text"> <br>
<font color="#ff0000" size="1"><b> ※ </b></font>電話番号 <input
name="tel" class="form-textline01" maxlength="20" value="" type="text">例)
123-456-
7890 <br>
<font color="#ff0000" size="1"><b> ※ </b></font><br>
<input name="性別" value="男" checked="checked" type="radio"> 男  <input
name="性別" value="女" type="radio"> 女<br>
<br>
メダルの項目:<br>
<input name="properties" value="CellPhone" type="checkbox"> マラソン <input
name="properties" value="Car" type="checkbox"> 体操 <input
name="properties" value="Car" type="checkbox"> 水泳 <input
name="properties" value="Car" type="checkbox"> サッカー <input
name="properties" value="Car" type="checkbox"> フットサル<br>
<input name="properties" value="Car" type="checkbox"> バスケット <input
name="properties" value="Car" type="checkbox"> バレー <input
name="properties" value="Car" type="checkbox"> 野球 <input
name="properties" value="Car" type="checkbox"> 相撲 <input
name="properties" value="Car" type="checkbox"> スケート<br>
<input name="properties" value="Car" type="checkbox"> スノボ <input
name="properties" value="Cottage" type="checkbox"> セクシーコマンド<input
name="properties" value="Car" type="checkbox">その他 <br>
<br>
認定資格:<input name="資格" type="text"> <br>
好きな果物:<br>
<select name="好きな果物">
<option>りんご</option>
<option>みかん</option>
<option>バナナ</option>
<option>パイナップル</option>
</select>
<br>
<textarea name="freeans" rows="4" cols="40">自由に意見を記述してください</textarea><br>
<input value="送信" type="submit">  <input value="取り消し" type="reset"> </p>
</form>
<br>
<br>
ご協力ありがとうございました・・・<br>
<br>
</body>
</html>

投稿日時 - 2013-05-04 12:52:03

QNo.8072357

困ってます

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

すいません、再びです。もしphpをご使用になられる場合のためにphp側のタグのサンプルとphp側のサンプルファイルの全文を掲載しておきます。


#タグは下記のように送信が完了したら、スタートページに戻るボタンのタグです。
<input type='button' value='戻る' onclick='top.location.href=\"index.html\"' >

#もし、レンタルサーバーにアップロードする場合は「PHP可」と書いてあってもメール送信が出来ないところもありますので注意してください。

#$from(送る人のメールアドレスも入れないとエラーになってしまいます。)できれば
<input name="mail" class="form-textline01" maxlength="100" value=""type="text">
の"mail"でポストしてください。

#UTF-8とかJisとか何も指定しないと、結構文字化けしますのでできればサンプルのように指定してください。


PHP側のサンプルの全文です。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>phpメール</title>
</head>
<body>
<?php
mb_language("japanese");
//各値
$to ="送信先メールアドレス";
$subject = "テスト";
$b=$_POST['hi'];//合計金額
$c=$_POST['properties'];//checkboxの値'<input type='button' value='戻る' >'
//checkboxの配列をforeachする
foreach ($c as $d){
@$body.=$d;
}
$body.=$b;//checkboxの値に合計金額をたす
$from ="送るひとのメールアドレス";
//メール送信
if (mb_send_mail($to,$subject,$body,"From:".$from)){
echo "メールが送信されました。"."<input type='button' value='戻る' onclick='top.location.href=\"index.html\"' >";
} else {
echo "メールの送信に失敗しました。";
}
?>
</body>
</html>

投稿日時 - 2013-05-05 03:56:16

お礼

ご回答ありがとうございます。
あれから、本を買ってPHPについて勉強してみました。
少し難しい話ですね・・・・

もっと勉強してみます。

投稿日時 - 2013-06-02 07:00:46

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

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

回答(4)

再び失礼します。


「合計金額を計算」「合計」の値を
<form name="js" action="mail.php" method="post">
に渡すサンプルも作成しました。


html側

<body>
<form name="nForm">項目6<br>
オプションがあれば選択して下さい。(複数選択可)<br>
<input name="bx1" value="1" type="checkbox">1<br>
<input name="bx1" value="1" type="checkbox">2<br>
<input name="bx1" value="1" type="checkbox">3<br>
<input name="bx1" value="1" type="checkbox">4<br>
<input value="合計金額を計算" onclick="ttlValue()" type="button"><br>
<br>
合計<input name="result" size="10" type="text">
</form>
<script type="text/javascript">
function ttlValue(){
var chn = 4;
ttl = 0;
for(i=0; i<chn; i++) {
if(document.nForm.elements[i].checked) {
ttl+=1;
}
}
document.nForm.result.value = ttl;
document.js.hi.value = ttl;
}
</script>
<form name="js" action="mail.php" method="post">
メダルの項目:<br>
<input name="properties[]" value="マラソン" type="checkbox"> マラソン
<input name="properties[]" value="体操" type="checkbox"> 体操
<input name="properties[]" value="水泳" type="checkbox"> 水泳
<input name="properties[]" value="サッカー" type="checkbox"> サッカー
<input name="properties[]" value="フットサル" type="checkbox"> フットサル<br>
<br>
<input type="hidden" name="hi">
<input type="submit" value="送信" >
</form>
</body>


php側

<?php
mb_language("japanese");
mb_internal_encoding("UTF-8");
//各値
$to ="メールアドレス";
$subject = "テスト";
$b=$_POST['hi'];//合計金額
$c=$_POST['properties'];//checkboxの値
//
foreach ($c as $d){
@$body.=$d;
}
$body.=$b;//checkboxの値に合計金額をたす
$from ="メールアドレス";
//メール送信
if (mb_send_mail($to,$subject,$body,"From:".$from)){
echo "メールが送信されました。";
} else {
echo "メールの送信に失敗しました。";
}
?>

投稿日時 - 2013-05-04 17:49:54

お礼

追記とともにありがとうございました。

投稿日時 - 2013-06-02 07:02:40

ANo.2

form本来の機能を利用するのが妥当ではないでしょうか。

いずれにしろサーバでの処理を予定しているようですので、入力内容をそのままサーバに送信し、サーバ側で一括処理するのがよろしいのではないでしょうか。
そのためには、各タグのtype、name、valueなどを適切に設定しておく必要があります。

その上でformをsubmitすれば、データがそのままサーバへ送られますので、Javascriptでの処理は不要になるでしょう。(スクリプトはユーザがオフにしていれば、実行されません。)
メール送信もサーバ側から行えますので、そのように処理なさればよろしいかと。

投稿日時 - 2013-05-04 17:45:38

お礼

Javascript無しで行うことが出来るのですね・・・
調べてみます・・・
ご回答ありがとうございました!

投稿日時 - 2013-05-04 19:03:09

こんにちは


http://okwave.jp/qa/q8072037.html
上記の値はJavaScriptで<form method="post" action="CGIのURI">の中にハイドで渡しておきます。


checkboxの値は
<input name="properties[]" value="マラソン" type="checkbox"> マラソン
properties[]のように配列にすると valueの値がphpファイルに渡されます。

php側では普通にforeachすると値を取り出すことができます。


サンプル

html側
<form action="mail.php" method="post">
メダルの項目:<br>
<input name="properties[]" value="マラソン" type="checkbox"> マラソン
<input name="properties[]" value="体操" type="checkbox"> 体操
<input name="properties[]" value="水泳" type="checkbox"> 水泳
<input name="properties[]" value="サッカー" type="checkbox"> サッカー
<input name="properties[]" value="フットサル" type="checkbox"> フットサル<br>
<br>
<input type="submit" value="送信" >
</form>


php側

<?php
mb_language("japanese");
mb_internal_encoding("UTF-8");
//各値
$to ="メールアドレス";
$subject = "テスト";
$c=$_POST['properties'];
foreach ($c as $d){
@$body.=$d;
}
$from ="メールアドレス";
//メール送信
if (mb_send_mail($to,$subject,$body,"From:".$from)){
echo "メールが送信されました。";
} else {
echo "メールの送信に失敗しました。";
}
?>

投稿日時 - 2013-05-04 17:26:20

お礼

ご回答ありがとうございます。
HTMLはまだ初心者なので、新たな疑問が出来たのですが、
php側のタグは、どこに入力したらよろしいでしょうか?

投稿日時 - 2013-05-04 19:01:35

あなたにオススメの質問