PHP to create contact form

Here is the complete PHP code to create a contact form

<?php
// define variables and set to empty values
$nomErr = $emailErr = $objetErr = $messageErr = "";
$nom = $email = $objet = $message = "";


if ($_SERVER["REQUEST_METHOD"] == "POST") {
   if (empty($_POST["nom"])) {
     $nomErr = "Nom complet requis";
   } else {
     $nom = test_input($_POST["nom"]);
     // check if name only contains letters and whitespace
     if (!preg_match("/^[a-zA-Z ]*$/",$nom)) {
       $nomErr = "Les lettres sans accents et espaces sont autoris&eacute;s"; 
       
     }
   }
   
   if (empty($_POST["email"])) {
     $emailErr = "Adresse email requise";
     
   } else {
     $email = test_input($_POST["email"]);
     // check if e-mail address is well-formed
     if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
       $emailErr = "Le format est invalide"; 
     }
   }
     
   if (empty($_POST["message"])) {
     $messageErr = "Le Message est requis";
   } else {
     $message = test_input($_POST["message"]);
   }

   if (empty($_POST["objet"])) {
     $objetErr = "l&rsquo;objet est requis";
   } else {
     $objet = test_input($_POST["objet"]);
   }
}

function test_input($data) {
   $data = trim($data);
   $data = stripslashes($data);
   $data = htmlspecialchars($data);
   return $data;
}

if ($_SERVER["REQUEST_METHOD"] == "POST")
{ 
	if( (empty($_POST["nom"])) Or (empty($_POST["email"])) Or (empty($_POST["objet"])) Or (empty($_POST["message"])) ) 
		{
			echo "<div class='alert alert-info alert-dismissible' role='alert'>
			<button type='button' class='close' data-dismiss='alert'><span aria-hidden='true'>&times;</span><span class='sr-only'>Close</span></button>
			<strong>Tous</strong> les champs sont requis!
			</div>";
		}
		else 	
		{
			if ((!empty($_POST["nom"])) && (!empty($_POST["email"])) && (!empty($_POST["objet"])) && (!empty($_POST["message"]))) 
			{	
				if (!filter_var($email, FILTER_VALIDATE_EMAIL))
				{		 
						if (!preg_match("/^[a-zA-Z ]*$/",$nom)) 
							{
								echo "<div class='alert alert-info alert-dismissible' role='alert'>
<button type='button' class='close' data-dismiss='alert'><span aria-hidden='true'>&times;</span><span class='sr-only'>Close</span></button>
 <strong>Nom</strong> et <strong>Email</strong> invalides!</div>";
							}		
						else 
							{
								echo "<div class='alert alert-info alert-dismissible' role='alert'>
<button type='button' class='close' data-dismiss='alert'><span aria-hidden='true'>&times;</span><span class='sr-only'>Close</span></button>
<strong>Email</strong> invalide!</div>"; 		
							}	
				}		
				elseif (!preg_match("/^[a-zA-Z ]*$/",$nom))
						{
						echo "<div class='alert alert-info alert-dismissible' role='alert'>
<button type='button' class='close' data-dismiss='alert'><span aria-hidden='true'>&times;</span><span class='sr-only'>Close</span></button>
<strong>Nom</strong> invalide!</div>";
						}
						
						else 
		{
				echo "<div class='alert alert-info alert-dismissible' role='alert'>
<button type='button' class='close' data-dismiss='alert'><span aria-hidden='true'>&times;</span><span class='sr-only'>Close</span></button>
Email <strong>envoy&eacute;</strong></div>";
		}			
					
				}
		}					
		
		}
?>



	<form id="main-contact-form" name="contact-form" method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 	
	<div class="form-group">
    <label for="exampleInputEmail1">Nom Complet</label>
    <input type="text" class="form-control" name="nom" value="<?php echo $nom;?>"placeholder="Nom Pr&eacute;nom">
    <p class="help-block"><?php echo $nomErr;?></p>
  </div>

  <div class="form-group">
    <label for="exampleInputEmail1">Adresse Email</label>
    <input type="email" class="form-control" name="email" value="<?php echo $email;?>" placeholder="Adresse Email">
    <p class="help-block"><?php echo $emailErr;?></p>
  </div>
  <div class="form-group">
    <label for="exampleInputPassword1">Objet</label>
    <select class="form-control" name="objet" value="<?php echo $objet;?>">
  <option></option>
  <option>Question</option>
  <option>Devis</option>
  <option>Conseil</option>
  <option>Bug</option>
  <option>Autre</option>
</select>
<p class="help-block"><?php echo $objetErr;?></p>
  </div>
  <div class="form-group">
  <div>
    <label for="exampleInputFile">Message</label>
    <textarea class="form-control counted" rows="3" name="message" maxlength="320"></textarea>
    <p class="help-block"><?php echo $messageErr;?></p>
    </div>
    <span class="label label-danger pull-right" id="counter">320 characters remaining</span>
    <br>
  </div>
   <input type="submit" class="btn btn-info btn-block" name="submit" value="Submit"> 
</form>



<?php
echo "<h2>Your Input:</h2>";
echo 'Nom : ' .$nom.'<br>';
echo 'Email : ' .$email.'<br>';
echo 'Objet : ' .$objet.'<br>';
echo 'Message : ' .$message.'<br>';

?>
         

Leave a Comment