PHP到电子邮件表单:'垃圾'问题,验证,警报框

时间:2012-07-17 18:03:07

标签: php html css validation error-handling

我花了很多时间尝试在stackoverflow上找到的东西,但我似乎无法找到我正在寻找的东西。

我还会说我对PHP / JavaScript的了解是基本的,因为这不是我通常所涉及的。

我有一个非常简单的联系表格:

  <form action=' ' method='post'>

    <label for='firstName' >First Name: </label>
    <input type='text' name='firstName' id='firstName' />

    <label for='lastName' >Last Name: </label>
    <input type='text' name='lastName' id='lastName' />

    <label for='phone' >Contact No :</label>
    <input type='text' name='phone' id='phone' />

    <label for='email' >Email Address:</label>
    <input type='text' name='email' id='email' />

    <input type='image' id="submit" src="images/submit.png" class="uibutton" onclick="show_alert()" />

  </form>

这是我的PHP:

<?php

if(isset($ _ POST ['email'])){

$field_name = $_POST['firstName'];
$field_surname = $_POST['lastName'];
$field_phone = $_POST['phone'];
$reply_to = $_POST['email'];


//send email
$mail_to = 'me.pfrrr@gmail.com';
$subject = 'Contact a site visitor '.$field_name." ".$field_surname;

$body_message = 'First Name: '.$field_name."\n";
$body_message .= 'Last Name: '.$field_surname."\n";
$body_message .= 'Phone Number: '.$field_phone."\n";
$body_message .= 'Email Address: '.$reply_to;

$headers = 'From: '.$field_name."\r\n";

$mail_status = mail($mail_to, $subject, $body_message, $headers);

} ?&GT;

我希望我的表单给我发电子邮件。它做到了;但我收到的电子邮件总是进入“垃圾邮件”文件夹。域/ IP不在PBL列表中。

如果有人能够至少给我一个指导如何实现以下内容并回答一些问题,我将不胜感激:

  1. 我想收到电子邮件进入“收件箱”文件夹
  2. 2.我想验证表单,但我希望我的错误显示在文本字段下。我可以用Dreamweaver提供的工具做到这一点;但它仍然允许我提交一个空表格。有没有办法我可以使用php / html / css以美学方式显示错误? (在同一页面&gt;每个文本字段下)

    3.On'提交'我有一个警告框,上面写着'谢谢'。如何在正确填写表单时弹出警告框?

    我真的很感激'正确'的答案(不是:'去阅读php / javascript教程'类型的东西,因为我已经这样做了,尝试过的东西,他们没有用 - 所以我需要进一步的建议)

    谢谢:)

1 个答案:

答案 0 :(得分:2)

  1. 如果这只是您的电子邮件,请将地址添加到您的联系人。这将覆盖任何垃圾邮件过滤器。

  2. 如果您想要求字段,可以使用html5 form validation。您也可以使用它们来检查有效的电子邮件地址。

  3. 将您的javascript从onclick=""标记中的onsubmit=""按钮移至<form>