来自HTML表单的PHP电子邮件验证和检索

时间:2016-04-24 22:15:29

标签: php html5 validation

我一直在尝试创建一个可以收集用户名称,电子邮件和问题的表单,但我对PHP这么新,以至于我一直在努力解决这个问题。

目标是收集信息,当他们按提交时,他们的电子邮件地址应该发送到我的电子邮件,我希望它能够被证实是真正的电子邮件地址。< / p>

HTML代码:

 <form method="post" action="process.php">
<fieldset>
<legend>Personal Information</legend>


<p><label for="name">Name:</label>
<input type="text" name="name" id="name" maxlength="50" autofocus required /></p>

<p><label for="recipient">Email Address:</label>
<input id="recipient" name="recipient" type="text" name="recipient" required></p>


</fieldset>

<fieldset>
<legend>Tours Interested In:</legend>

<p><label for="question">Questions/Comments:</label>
<textarea id="question" name="question" cols="50" rows="3"     placeholder="type your comments here" required></textarea>
</fieldset>

<p class="centralize"><input type="submit" onclick="send()"     value="Submit Only" /></p>
<p class="centralize"><input type="reset" value="Clear Form"></p>

<p id="data_return"></p>


</form>

PHP代码:

<?php
header("Content-type: text/html");

$name=$_POST["name"];
$question=$_POST["question"];
$email =$_POST["email"];

$subject = "You have a USER INQUIRY:";
$to = 'myemail@myemail.com';


if(!$_POST['name']){
$errName = 'Please enter your name';
}






 echo "<p>Thank you, $name . Your Email has been Sent, and we will get     back to you within 48 hours.</p>";

 //Build email (to myself)


 mail($to, $name, $subject, $question, $email);

1 个答案:

答案 0 :(得分:0)

检查mail {(3}}中mail()函数的工作原理。 并查看下面的代码。祝你好运:)

<?php
header("Content-type: text/html");
if(isset($_POST['submit'])){ //check if the submit button actually clicked
  $name=$_POST["name"];
  $question=$_POST["question"];
  $email = test_input($_POST["recipient"]);
  if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {  //php validations http://www.w3schools.com/php/php_form_url_email.asp
    echo "Invalid email format";
  }

  $subject = "You have a USER INQUIRY:";
  $to = 'myemail@myemail.com';
  $message = "Name: {$name} \n";
  $message .= "Email: {$email} \n"; 
  $message .= "Question: {$question} \n";


  if(!$_POST['name']){
    $errName = 'Please enter your name';
  }

   echo "<p>Thank you," . $name . "Your Email has been Sent, and we will get     back to you within 48 hours.</p>";

   //Build email (to myself)

   mail($to, $subject, $message);
}

并且在您的HTML中,您可以说输入类型=电子邮件,这是许多浏览器支持的。

<input id="recipient" name="recipient" type="email" required></p>