【发布时间】:2013-11-04 21:41:03
【问题描述】:
我的表单需要有多个电子邮件地址。我有一个带有复选框的表单。选中的每个复选框都应添加到电子邮件的收件人列表中。数据正确传递,我知道这一点,因为如果我在新页面上回显它,它将正确显示每个值。我正在使用$_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>
【问题讨论】:
-
可能是您输入值中的逗号。尝试删除它们。
-
您是否只收到 $rep_num 中的最后一封电子邮件?
-
@Fred-ii- 需要逗号来分隔地址。即使有一个以逗号结尾的静态地址,例如
abcd123.site.com,,表单也会发送。 -
@AdilMahmudChoudhury 没有一个收件人收到表格,
foreach工作不正常。我认为它需要别的东西。 -
@GhostEcho 是的,我知道这一点,但邮件/PHP 不这么看。一旦
foreach启动并将其分配给to:字段,它们将被分开。从理论上讲,这就是“应该”发生的事情。最后一个用逗号,肯定会报错。