Advertisement
Guest User

Php validation antispam

a guest
Nov 23rd, 2014
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.81 KB | None | 0 0
  1. <?php
  2.  
  3. // Vérification de la présence de l'appel du formulaire
  4. $mail = htmlspecialchars($_POST['email']);
  5. $nom = htmlspecialchars($_POST['nom']);
  6. $messagepost = htmlspecialchars($_POST['message']);
  7. $antispam = htmlspecialchars($_POST['prenom']);
  8. $retour = '';
  9.  
  10. // Antispam : si le champ de vérification est rempli
  11. if (!empty($antispam) || preg_match('#<a href#i', $messagepost) || preg_match('#boobs#i', $messagepost) || preg_match('#Д#i', $messagepost))
  12.     exit('Fonction antispam');
  13.  
  14. // Si le champ nom est vide
  15. if (empty($nom))
  16.     $retour = 'Veuillez remplir le champ "Nom".';
  17.  
  18. // Si le champ message est vide
  19. elseif (empty($messagepost))
  20.     $retour = 'Veuillez remplir le champ "Message".';
  21.  
  22. // Si le champ email est vide ou ne correspond pas à la syntaxe requise de type xxxx@xxxx.xxx
  23. elseif (empty($mail) || !filter_var($mail, FILTER_VALIDATE_EMAIL))
  24.     $retour = 'Votre adresse e-mail n\'est pas complète ou contient des caractéres invalides.';
  25.  
  26. if ($retour == ''):
  27.     $destinataire = 'emm_beziat@hotmail.com';
  28.     $messageEnvoi = 'Nom : '.$nom.'<br />';
  29.     $messageEnvoi = 'Mail : '.$mail.'<br />';
  30.     $messageEnvoi .= '<br />Message : <br />'.nl2br($messagepost);
  31.  
  32.     $objet = 'Emmanuel B. (Site Pro) :: Nouveau mail de '.$nom;
  33.  
  34.     $headers  = 'From: Emmanuel B. (Site pro)<contact@emmanuelbeziat.com>'."\n";
  35.     $headers .= 'Reply-To: '.$mail."\n";
  36.     $headers .= 'MIME-Version: 1.0'."\n";
  37.     $headers .= 'Content-type: text/html; charset="utf-8"'."\n";
  38.     $headers .= 'Content-Transfer-Encoding: 8bit';
  39.    
  40.     // Envoi du mail
  41.     if (mail($destinataire, $objet, $messageEnvoi, $headers))  
  42.         $retour = 'Merci ! Votre mail a été correctement envoyé. Vous recevrez une réponse sous 48h.';
  43.     else
  44.         $retour = 'Une erreur s\'est produite lors de l\'envoi du mail. Veuillez réessayer ultérieurement.';
  45. endif;
  46. echo $retour;
  47. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement