これまでにご教示頂いた内容をもとに、現在、HTMLでメールの送信フォームを、PHPでメールを実際に送信して完了をお知らせするページを作成しております。
ここまでで、フォームに入力した内容を1名のみに送信できるようになっているのですが、これから、一度に複数名(1回の送信につき3名迄を想定)にメッセージを送信できる機能を追加しようと計画しています。
ここで、送信したいメッセージを、1名以上3名以下に送信(1名は必須だが全3名分のアドレスをフォームに埋める必要はない)できるようにする為には、PHPのコードをどのように追記すればよいでしょうか。
尚、ここまでに記述したコードは、以下の通りです。
remindmailform.html <!DOCTYPE html> <html lang="ja" dir="ltr"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <style> input, textarea { margin-bottom: 5px; padding: 3px; } @media screen and (min-width:480px){ /*画面幅が781px以上の時*/ h2 { color: red; margin-left: 175px; } label { margin-right: 5px; font-weight: bold; } label+input {margin-bottom: 5px;} .long { width: 300px; } .form-group { position: relative; } #submit { position: relative; top:10px; left:225px; } .footer {margin-left: 195px;} } @media screen and (max-width:480px){ /*画面幅が480pxまでの時*/ h2 { color: red; text-align: center; } label { margin-right: 2px; font-weight: bold; } label+input {margin-bottom: 5px;} textarea {width:300px;} .long { width: 250px; } .form-group { position: relative; } #submit { position: relative; top:10px; left:110px; } .footer {text-align: center;} } </style> <title>リマインドメールフォーム</title> </head> <body> <h2>連絡メールフォーム</h2> <form action="mailsended.php" method="post"> <div class="form-group"> <label for="name">連絡者名</label> <input type="text" id="name" class="long" name="name" required placeholder="入力必須です。"><br> <label for="yourEmail">連絡者のメールアドレス</label> <input type="text" id="yourEmail" class="long" name="yourEmail"><br> <br> <label for="what">件名</label> <input type="text" id="what" class="long" name="what" required placeholder="入力必須です。"><br> <label for="moment">連絡事項</label><br> <textarea id="moment" name="moment" rows="10" cols="80" required placeholder="入力必須です。"></textarea><br> <label for="date">日時</label> <input type="text" id="date" name="date"><br> <label for="place">場所</label> <input type="text" id="place" class="long" name="place"><br> <label for="bring">持参物</label> <input type="text" id="bring" class="long" name="bring"><br> <label for="remark">備考</label><br> <textarea id="remark" name="remark" rows="3" cols="80"></textarea><br> <br> <label for="email">送信先メールアドレス</label> <input type="text" id="email_1" class="long" name="email_1" required placeholder="入力必須です。"><br> <input type="text" id="email_2" class="long" name="email_2"><br> <input type="text" id="email_3" class="long" name="email_3"><br> <br> </div> <input id="submit" type="submit" name="submit" value="この内容で送信する"> <script> $('#submit').click(function(){ if(!confirm('この内容で送信しますか?')){ /* キャンセルの時の処理 */ return false; }else{ /* OKの時の処理 */ location.href = 'mailsended.php'; } }); </script> </form> <br> <br> <div class="footer"> <small> © 2020 <b>Sunny Boots Project</b> </small> </div> </body> </html>
mailsended.php <!DOCTYPE html> <html lang="ja" dir="ltr"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0"> <style> a {text-decoration: none} @media screen and (min-width:480px){ /*画面幅が781px以上の時*/ h3 { color: red; margin-left: 175px; } a button {margin-left: 170px;} .footer {margin-left: 170px;} } @media screen and (max-width:480px){ /*画面幅が480pxまでの時*/ h3 { color: red; text-align: center; } a button {text-align: center;} .footer {text-align: center;} } </style> <title>リマインドメール送信完了画面</title> </head> <body> <h3>メールを送信しました!</h3> <?php $mail_body = ''; // バリデーション $mail_body .= '連絡者名:'.$name.PHP_EOL; if(trim($moment) !== ''){ $mail_body .= 'moment:'. $moment.PHP_EOL; } if(trim($subject) !== ''){ $mail_body .= 'what:'. $subject.PHP_EOL; } if(trim($to) !== ''){ $mail_body .= 'email:'. $to.PHP_EOL; } // 送信者名 $name = filter_input(INPUT_POST ,'name'); // 伝達事項 $moment = filter_input(INPUT_POST ,'moment'); // 日時 $date = filter_input(INPUT_POST ,'date'); // 場所 $place = filter_input(INPUT_POST ,'place'); // 持ち物 $bring = filter_input(INPUT_POST ,'bring'); // 備考 $remark = filter_input(INPUT_POST ,'remark'); // 送信先アドレス $to_1 = filter_input(INPUT_POST ,'email_1'); $to_2 = filter_input(INPUT_POST ,'email_2'); $to_3 = filter_input(INPUT_POST ,'email_3'); // 送信者のアドレス $yourEmail = filter_input(INPUT_POST ,'yourEmail'); // 件名 $subject = filter_input(INPUT_POST ,'what'); // $set系の条件分岐 $setdate = $date=="" ? null : "【日時】:$date\n"; // 「もし$dateの中身が""なら、$setdateはnullで、そうでなければ "【日時】:$date\n" となる」という意味。 $setplace = $place=="" ? null : "【場所】:$place\n"; $setbring = $bring=="" ? null : "【持参物】:$bring\n"; // 送信内容 $msg="$moment\n"."\n". "$setdate". "$setplace". "$setbring". "$remark\n"."\n". "【送信者】:$name\n". "【Eメール】:$yourEmail\n"; // メール送信関数 mb_internal_encoding("UTF-8"); mb_send_mail($to_1.$to_2.$to_3,$subject,$msg); ?> <a href="remindmailform.html"><button type="button" name="return"> リマインドメールフォームに戻る </button></a> <br> <br> <div class="footer"> <small> © 2020 <b>Sunny Boots Project</b> </small> </div> </body> </html>
PS コード記述の際に、「これは特にやってほしい」という事(記述方法等)がありましたら、そちらを明記して頂けると幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/27 08:06
2020/01/27 08:51