在PHP电子邮件中捕获HTML表单数组

在PHP电子邮件中捕获HTML表单数组,php,arrays,email,Php,Arrays,Email,我有一个HTML表单,其中有几个数组,它们的名称标记后面有[]。我试图在一封PHP电子邮件中发送所有这些数组值。我知道var_dump会在屏幕上显示这些数组值,但var_dump似乎无法在电子邮件中发送这些值。非常感谢您的指导。谢谢你,下面是我所拥有的 在html表单中,“名称”和“电子邮件”字段是在其名称标记后带有“[]”的数组,在单个表单中最多可以提交15个字段。下面是我试图捕获这些值的PHP代码 $to = "$Eemail"; $subject = "Credential Request

我有一个HTML表单,其中有几个数组,它们的名称标记后面有[]。我试图在一封PHP电子邮件中发送所有这些数组值。我知道var_dump会在屏幕上显示这些数组值,但var_dump似乎无法在电子邮件中发送这些值。非常感谢您的指导。谢谢你,下面是我所拥有的

在html表单中,“名称”和“电子邮件”字段是在其名称标记后带有“[]”的数组,在单个表单中最多可以提交15个字段。下面是我试图捕获这些值的PHP代码

$to = "$Eemail";
$subject = "Credential Request";
$message = var_dump($name, $email);
$from = "EmailAddres@email.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
电子邮件发送正常,但由于我在$message中尝试了许多选项,我要么收到一封空电子邮件,要么收到一个空响应。

不会返回任何内容。因此,将其结果分配给
$message
将导致一个空变量,从而导致邮件为空

相反,如果希望将结果作为字符串,可以使用以下代码:

$message = print_r($name, true) . "\n" . print_r($email, true);

var\u dump
只是一个打印数组的函数,非常类似于
print\u r
。在您的情况下,您需要为
$message
变量分配一个字符串

我假设
$name
$email
都是具有相同数量的值的数组,您只需使用
进行循环即可

for($i=0; $i<count($name); $i++)
{
    $to = "$Eemail";
    $subject = "Credential Request";
    $message = 'name: ' . $name[$i] . ' email: ' . $email[$i];
    $from = "EmailAddres@email.com";
    $headers = "From:" . $from;
    mail($to,$subject,$message,$headers);
}

for($i=0;$i
var\u dump
仅将某些内容输出到输出缓冲区。您可能正在寻找类似以下内容:

$message = implode(" ", $name) . " " . implode(" ", $email);

我找到了我要找的东西。一个有多个数组的foreach循环

$to = "$Eemail";
$subject = "Credential Request"; 
$message = '';
$message .= '<html><body>';
        $message .= "<h2>Credential Requests</h2>";
        $message .= '<table rules="all" style="border-color: #666;" cellpadding="10">';

foreach($_POST['name'] as $key => $something) { 
$email = $_POST['email'][$key];
$position = $_POST['position'][$key];
        $message .= "<tr><td> $something</td><td> $email </td><td> $position</td></tr>";
}
        $message .= "</table>"; 
$from = "Credentials@UHSAA.org";
$headers = "From: " . $from . "\r\n";
        $headers .= "Reply-To: ". strip_tags($_POST['req-email']) . "\r\n";
        $headers .= "MIME-Version: 1.0\r\n";
        $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
mail($to,$subject,$message,$headers);
$to=“$Eemail”;
$subject=“凭证请求”;
$message='';
$message.='';
$message.=“凭证请求”;
$message.='';
foreach($_POST['name']作为$key=>$something){
$email=$_POST['email'][$key];
$position=$_POST['position'][$key];
$message.=“$something$email$position”;
}
$message.=“”;
$from=”Credentials@UHSAA.org";
$headers=“From:”.$From.\r\n”;
$headers.=“回复:”.strip\u标记($\u POST['req-email'])。“\r\n”;
$headers.=“MIME版本:1.0\r\n”;
$headers.=“内容类型:text/html;字符集=ISO-8859-1\r\n”;
邮件($to、$subject、$message、$headers);

我已更新了代码,但仍收到一封空白电子邮件:$to=“$Eemail”$subject=“凭证请求”$message=print\r($names,true)。“\n”。print\r($email,true);$from=”EmailAddress@email.com“;$headers=“From:”.$From;邮件($to,$subject,$message,$headers);请花点时间阅读并理解Fabio的回复。这将发送多封邮件。是的,我想这就是OP要问的。我不是询问者,但他想“在一封PHP电子邮件中发送所有这些数组值”。
$to = "$Eemail";
$subject = "Credential Request"; 
$message = '';
$message .= '<html><body>';
        $message .= "<h2>Credential Requests</h2>";
        $message .= '<table rules="all" style="border-color: #666;" cellpadding="10">';

foreach($_POST['name'] as $key => $something) { 
$email = $_POST['email'][$key];
$position = $_POST['position'][$key];
        $message .= "<tr><td> $something</td><td> $email </td><td> $position</td></tr>";
}
        $message .= "</table>"; 
$from = "Credentials@UHSAA.org";
$headers = "From: " . $from . "\r\n";
        $headers .= "Reply-To: ". strip_tags($_POST['req-email']) . "\r\n";
        $headers .= "MIME-Version: 1.0\r\n";
        $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
mail($to,$subject,$message,$headers);