【问题标题】:Contact Form Sends me Empty emails联系表格向我发送空电子邮件
【发布时间】:2011-08-12 15:52:28
【问题描述】:

我有这个很好用的联系表。如果有人给我发电子邮件,我会收到。但无论出于何种原因,我不断收到发送给我的空电子邮件。由于没有人可以访问该页面,我确定不是有人向我发送空电子邮件。我不知道问题是什么。有什么帮助吗?

   <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 表单中的“标题”部分是在发送表单后将用户重定向到页面。

提前致谢。

【问题讨论】:

  • 你检查过你的服务器日志,看看内容是否至少达到了那么远?
  • 它要么运行良好,要么不运行。选一个?!

标签: php contact-form


【解决方案1】:

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

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

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

【讨论】:

  • 不,根据我的经验,大多数初学者脚本编写者不会费心进行验证。你必须被烧得很好,或者通常有很强的商业论据才能“度过难关”。
  • 我不是故意惹怒任何人,我只是想看看其他网站如何从 UI 角度处理表单验证,答案通常是“他们不是”跨度>
【解决方案2】:

您可能会收到来自机器人的访问。即使没有 POST 数据,您的脚本也会始终触发电子邮件。

在您的联系脚本中,作为基本的保护措施,添加类似

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

根据需要添加进一步的验证(如 cmets 中所指出的)。

【讨论】:

  • 保护不力,但一个好的开始(+1 是为了说明理由)。
  • 如果不是来自机器人,通常不会有垃圾数据吗?
  • @Mad 我的意思是搜索引擎机器人执行 GET 请求,而不是试图发送垃圾邮件的恶意机器人。对于恶意软件,正如@Tomalak 所说,这确实是一种太弱的保护
  • 另外,验证表单字段本身(它们不为空)。另外,我会在一个额外的字段中添加一个简单的人工验证字段(“添加这两个数字”),以尝试击倒表单机器人。
  • 我不知道爬虫会遵循表单操作,这是正确的吗?
【解决方案3】:

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

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

【讨论】:

    猜你喜欢
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    • 1970-01-01
    • 2023-02-21
    相关资源
    最近更新 更多