PHP 电子邮件验证和从 HTML 表单检索


PHP Email Validation and Retrieval from an HTML form

我一直在尝试创建一个表单来收集用户的姓名,电子邮件和问题,但是我对PHP很陌生,以至于我一直在努力。

目标是收集信息,当他们按下提交时,他们的电子邮件地址应该发送到我的电子邮件,我希望验证它是一个真实的电子邮件地址。

网页代码:

 <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);

在这里查看 mail() 函数在 php 中的工作原理。并在下面检查此代码。祝你好运:)

<?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>