我有一个数组通过提交表单传递给以下脚本,然后使用这些数据发送电子邮件。
PHP
$boxName = $_POST['name'];
$m = new PHPMailer();
foreach ($boxName as $named)
{
$m->Body = "Name:" .$named. "<br>";
};
数组
Array ( [name] => Array ( [0] => Chris [1] => Yum [2] => Oppa [3] => mudo)
但是我只在电子邮件中显示姓氏,为什么?我已经使用foreach来打开所有。如果我使用print_r
,它将显示我的所有名单。发送部分没有问题,我只是不知道如何将我的所有名单列入消息。
如何让$m->body
显示我的所有名单?
如果我使用以下代码,我可以看到我的所有名单
foreach ($boxNumber as $Name) {
print $Name."<br>";
}
我想像下面的例子一样显示列表:
1.Chris
2.Yum
3.Oppa
4.mudo
答案 0 :(得分:0)
你总是覆盖姓氏,你需要的是实际追加字符串(使用句号):
$m->Body .= "Name:" .$named. "<br>";
// this is the short form for:
$m->Body = $m->Body . "Name:" .$named. "<br>";
答案 1 :(得分:0)
您只能看到姓氏的原因是因为每次执行循环时都会覆盖Body变量。请参阅下面的代码。
$boxName = $_POST['name'];
$m = new PHPMailer();
$m->Body = '<ol>';
foreach ($boxName as $named)
$m->Body .= "<li>" . $named . "</li>";
$m->Body .= "</ol>";
答案 2 :(得分:0)
工作代码
$boxName = $_POST['name'];
$m = new PHPMailer();
if(empty($m->body)) $m->Body = ''
$i = 1;
foreach ($boxName as $named)
{
$m->Body .= $i.'.'.$named. "<br>";
$i += 1;
};