0

次のフォームは、正しいメール アドレスが入力された場合に「ニュースレターを購読していただきありがとうございます」というメッセージが表示されますが、指定されたアドレスに結果が送信されません$to。また、電子メールが無効な場合、「有効な電子メールを入力してください」というメッセージは表示されません。誰かがこれらのエラーでphp初心者を助けてもらえますか? ありがとう

<?php
$email   = $_POST['email'];
$to      = "reb3qb13b@gmail.com";
$subject = "ADD THIS EMAIL ADDRESS TO THE MAILING LIST";
$body    = "\n\n";
$url     = 'http://10.0.1.3/~143b1';

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

1

mail()マニュアルページからの抜粋:

メールの配信が正常に受け入れられた場合は TRUE を返し、それ以外の場合は FALSE を返します。

メールの配信が許可されたからといって、メールが実際に目的の宛先に届くとは限らないことに注意してください。

コードは問題ないと思いますが、メール サーバーに問題があります。

于 2011-09-14T10:32:50.260 に答える
0

ローカルサーバーで開発していますか? sendmail または何らかの SMTP サービスがインストールされていますか?

また、一部のブラウザーで Javascript が実行されない原因となるスクリプト タグのスクリプト タイプもリストしていません。PHP を実行すると、実際に何がページにエコーされるのでしょうか? これにより、問題がどこにあるかがわかります。

于 2011-09-14T10:32:39.057 に答える
0

body 終了タグの前にコードを追加する必要があります。js コードを実行するには、最初に DOM をロードする必要があります。または、試してください。

if(1==1){
    echo "<script>alert('Test');</script>";
}

アラートが機能しない場合、問題はコードの位置です

于 2016-12-10T20:44:31.483 に答える