0

私のフォームには複数のメールアドレスが必要です。チェックボックスのあるフォームがあります。チェックされているすべてのチェックボックスは、電子メールの受信者リストに追加する必要があります。データが正しく渡されています。新しいページにエコーアウトすると、各値が正しく表示されるため、これはわかっています。を使用して$_POSTいます。

追加する変数は と呼ばれ$email_toます。
送信されます:@mail($email_to, $email_subject, $email_message, $headers);

静的な$email_to値を使用すると、フォームは適切に機能し、データを電子メールで送信します。

これまで私は試しました
foreach($_POST['rep'] as $rep_num) { $emailto = $rep_num;}
foreach($_POST['rep'] as $rep_num[]) { $emailto = $rep_num[];}

foreach には何かが欠けていると思いますが、何がわかりません。正常にエコーできますが、変数に保存することはできません。誰かが私が必要とする方向に私を向けることができますか?

HTML

<div class="clearfix email_boxes">
        <input type="checkbox" name="rep[]" value="02@address.com,">Lorem Ipsum 01
        <input type="checkbox" name="rep[]" value="02@address.com,">Lorem Ipsum 02
        <input type="checkbox" name="rep[]" value="03@address.com,">Lorem Ipsum 03
</div>
4

4 に答える 4

1

あなたがすでに持っていたものにわずかな変更を加えて:

どうぞご利用ください。(事前テスト済み)

<?php

if(isset($_POST['submit'])){

$email = "yourEmail@example.com";
$email_subject = "Subject here";
$email_message = "The message";

$headers = "From: $email" . "\r\n" .
"Reply-To: $email" . "\r\n" .
"X-Mailer: PHP/" . phpversion();

foreach($_POST['rep'] as $to) {
mail($to, $email_subject, $email_message, $headers);
}

} // ending brace for if(isset($_POST['submit']))

?>

<form method="post" action="">

<div class="clearfix email_boxes">
<input type="checkbox" name="rep[]" value="email_1@example.com">Lorem Ipsum 01
<input type="checkbox" name="rep[]" value="email_2@example.com">Lorem Ipsum 02
<input type="checkbox" name="rep[]" value="email_3@example.com">Lorem Ipsum 03
</div>

<input type="submit" name="submit" value="Send Email to Users">

</form>
于 2013-11-04T22:10:00.987 に答える
0

これを試して:

foreach($_POST['rep'] as $key => $rep_num) {
     $emailto = $rep_num;
}

に注意してください。

于 2013-11-04T22:02:22.690 に答える
0
foreach($_POST['rep'] as $rep_num) { $emailto = $rep_num;} 

ここでは、すべてのメールを $emailto 変数に入れています。したがって、ループが実行されるたびに、古いループが消去され、新しいループが保存されます。したがって、最後に最後のメールアドレスを取得しています。

そのため、配列を使用して電子メール アドレスを保存できます。そして、メールを1通ずつ送信します。ループ内でカウンターを使用してループの実行回数を確認し、そのカウンターをループ カウンターとして使用してメールを送信できます。

于 2013-11-04T21:51:45.383 に答える