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