1

私はこのフォームを持っています

<form method="POST" action="mailer.php">
    <div id="email"><input type="email" name="email" class="email" placeholder="example@example.com"></div>
</form>

そしてこのPHP

<?php

$email = $_POST['email'];
$to = "test@test.com";
$subject = "ADD THIS EMAIL ADDRESS TO THE MAILING LIST";
$body = "\n\n";
$url = 'http://10.0.1.1/~ewiuf';
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo '<script> alert("PLEASE ENTER A VALID EMAIL ADDRESS") </script>';
    echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL=' . $url . '">';
} else {
    if (mail($to, $subject, $body)) {
        echo '<script> alert("THANK YOU FOR SUBSCRIBING TO THE NEWSLETTER") </script>';
        echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL=' . $url . '">';
    } else {
        echo '<script> alert("THERE WAS AN UNEXPECTED ERROR. PLEASE TRY AGAIN LATER") </script>';
        echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL=' . $url . '">';
    }
}
?>

スクリプトが送信する電子メールの本文にフォームの内容(電子メールアドレスである必要があります)が含まれていないのはなぜですか?スクリプトは送信、検証しますが、ユーザーがフォームに入力した電子メールアドレスは私に送信されません。助けてください、ありがとう。

4

3 に答える 3

2

ユーザーのメールを送信するように指示する必要があります。これを試して:

<?php
$email = $_POST['email'];
$to = "test@test.com";
$subject = "ADD THIS EMAIL ADDRESS TO THE MAILING LIST";
$body = "User Email: ".$email;
$url = 'http://10.0.1.1/~ewiuf';
if(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
echo '<script> alert("PLEASE ENTER A VALID EMAIL ADDRESS") </script>';
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
}
else
{
if (mail($to, $subject, $body)) {
echo '<script> alert("THANK YOU FOR SUBSCRIBING TO THE NEWSLETTER") </script>';
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
 } else {
echo '<script> alert("THERE WAS AN UNEXPECTED ERROR. PLEASE TRY AGAIN LATER") </script>';
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
 }
}
?>
于 2011-09-17T23:37:26.527 に答える
2

$body = "\n\n";変数を設定または変更する唯一の場所です$body。これは、本体(3番目のパラメーター)として関数に送信する変数ですmail

あなたの場合、本文に電子メールアドレスのみを入れたいと思いますので、そのために使用$body = $email;するか、の3番目のパラメーターの$email代わりに使用する必要があります。$bodymail

于 2011-09-17T23:37:52.277 に答える
0

$bodyで「\n\n」を送信しています。質問が正しければ、$ body = "\ n \ n" +$emailのように$emailを追加することをお勧めします。

それが役立つことを願っています

于 2011-09-17T23:40:54.853 に答える