3

名前タグの後に [] が付いていることで定義されているいくつかの配列を持つ HTML フォームがあります。これらすべての配列値を単一の PHP メールで送信しようとしています。var_dump がこれらの配列の値を画面に表示することは知っていますが、var_dump は値を電子メールで送信するようには機能していないようです。どんなガイダンスも大歓迎です。ありがとう、以下は私が持っているものです。

html フォームでは、フィールド name と email は name タグの後に「[]」が付いた配列で、1 つのフォームで最大 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 で多くのオプションを試したところ、空のメールまたは NULL 応答が返されました。

4

4 に答える 4

1

var_dump配列を出力する関数にすぎません。変数print_rに文字列を割り当てる必要がある場合と非常によく似ています$message

とはどちらも同じ数の値を持つ配列だと思います。ループを使用$nameできます$emailfor

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);
}

指摘したように、すべての配列値を含む 1 つのメールを送信する必要があるように思われるので、すべての配列値をループして連結するだけです

$to = "$Eemail";
$subject = "Credential Request";
$message = '';
for($i=0; $i<count($name); $i++)
{
     $message .= 'name: ' . $name[$i] . ' email: ' . $email[$i] . "\n";
}
$from = "EmailAddres@email.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
于 2013-06-02T16:37:10.340 に答える
0

var_dump何も返しません。したがって、その結果を に割り当てる$messageと変数が空になり、メールが空になります。

代わりに、結果を文字列として取得する場合は、次のコードを使用できます。

$message = print_r($name, true) . "\n" . print_r($email, true);
于 2013-06-02T16:37:02.307 に答える
0

探していたものが見つかりました。複数の配列を持つ 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);
于 2013-06-03T21:23:27.627 に答える