4

うまく機能するこのお問い合わせフォームがあります。誰かが私にメールを送れば、私はそれを受け取ります。しかし、何らかの理由で、空のメールが送信され続けます。誰もそのページにアクセスできなかったので、誰かが私に空のメールを送ってきたのではないと確信しています. 何が問題なのかわからない。何か助けはありますか?

   <form method="post" id="contactform" name="contactform" action="comment.php" id="ContactForm" name="ContactForm" method="post">

    <fieldset>

    <label>Email *</label>
    <input class="text" type="text" name="email">
    <label>Name *</label>
    <input class="text" type="text" name="name" />

    </fieldset>

    <input class="submit-button" type="submit" name="submit" id="submit" value="Send" />
</form>

and my contact.php

    <?php


    $email.= "<b>Email     : </b>".trim($_POST['company'])."<br/>";
    $email.= "<b>Name      : </b>".trim($_POST['name'])."<br/>";



    //Replace YourEmailAddress@Yourdomain.com with yours, eg:contactus@mywebsite.com
        //Both on the next line and on the mail function below.
    $headers = "From: email@email.com\r\n";
    $headers .= "Content-Type: text/html";
    mail(
            "Your Name<myname>", 
            "Header", 
            $email,
            $headers
    );
        header("www.google.com");
?>

私のphpフォームの「ヘッダー」部分は、フォームを送信した後にユーザーをページにリダイレクトすることです。

前もって感謝します。

4

3 に答える 3

6

あなたはおそらくボットからの訪問を受けています。POST データが存在しない場合でも、スクリプトは常に電子メールをトリガーします。

連絡先スクリプトで、保護の基本的な手段として、次のようなものを追加します

if ($_POST["submit"] != "Send") 
 die();

必要に応じて(コメントで指摘されているように)さらに検証を追加します。

于 2011-04-25T23:20:33.300 に答える
3

フォーム入力を検証していないように見えるため、空白で送信される可能性があります。

Web サイトに対してこれを行うこともありますが (検証をテストし、空のメールを送信することになります)、通常は後で「入力内容を検証してください!」というメッセージを追加します。

実際に検証を行っている場合は申し訳ありませんが、整合性は言うまでもなく、必要な入力の存在さえも検証できない人が多いのを目にするので、それは私の本能でした。

于 2011-04-25T23:20:03.437 に答える
1

会社はフォームに存在しませんが、解析しようとしています。

そして、おそらく2つのフォーム名の宣言はそれほど良くありませんが、あなたの答えではありません.

于 2011-04-25T23:41:07.493 に答える