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

可能是因为您似乎没有验证表单输入,因此可以将其提交为空白。

有时我对网站执行此操作(测试验证,最终发送空白电子邮件),但我通常稍后会添加一条消息以“验证您的输入!”。

如果您确实在进行验证,请原谅,但这是我的直觉,因为我看到很多人甚至无法验证所需输入的存在,更不用说完整性了。

于 2011-04-25T23:20:03.437 回答
1

公司在您的表单中不存在,但您尝试解析它。

也许 2 形式的名称声明不是那么好,但它不是你的答案。

于 2011-04-25T23:41:07.493 回答