我的表单需要有多个电子邮件地址。我有一个带有复选框的表单。选中的每个复选框都应添加到电子邮件的接收列表中。数据正在正确传递,我知道这一点,因为如果我在新页面上回显它,它将正确显示每个值。我正在使用$_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[];}
我认为福拉奇缺少一些东西,但我无法弄清楚是什么。它可以很好地回显它,但不能将其存储在变量中。谁能指出我需要的方向?
.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>
您需要
使用array_push
或速记方括号[]
将项目添加到数组中。
例如
$emails = array();
foreach($_POST['rep'] as $email) {
// Each $email is added as the next array entry, using []
$emails[] = $email;
}
// Convert the array to a comma separated string
$recipients = implode(',', $emails);
mail($recipients, $subject, $message);
对已有的内容稍作修改:
欢迎您使用它。(预测试)
<?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>
foreach($_POST['rep'] as $rep_num) { $emailto = $rep_num;}
在这里,您将所有电子邮件放在变量$emailto。因此,每次循环运行时,它都会擦除旧的循环并保存新的循环。因此,最后您将获得最后一个电子邮件地址。
因此,您可以使用数组来保存电子邮件地址。 然后一一发送电子邮件。您可以使用循环中的计数器来检查循环运行的次数,然后可以将该计数器用作发送电子邮件的循环计数器。
试试这个:
foreach($_POST['rep'] as $key => $rep_num) {
$emailto = $rep_num;
}
阿特。