Réalisation d’un formulaire email

Le but de ce TP est d’apprendre à réaliser un formulaire email en PHP. Ceci n’est certainement pas difficile pour vous dans la mesure où on a déjà vu l’utilisation de la fonction mail sur le chapitre intitulé les fonctions .
Pour vous donner un aperçu de ce que nous allons faire, regardez la capture ci-dessous :

Il faut noter que vous pouvez utiliser une seule page pour coder un formulaire email ou deux pages (la page qui contient le formulaire et la page traitant les données). A vous de voir ce qui vous plait.
Dans mon cas j’utilise une page appelée email.php

1. Notre formulaire

Voici notre code html nous permettant de créer notre formulaire, si vous ne comprenez pas, lisez notre cours sur les formulaires.

2. Le code PHP traitant les données du formulaire

Nous avons décidé de donner des explications claires et nettes sous forme des commentaires dans le code PHP.
Voici le code en question :

Pour que cela marche, il faut remplacer email de destination par votre vraie adresse email.

3. Quelques améliorations

Bien sûre que notre formulaire marche mais nous pouvons la rendre plus intelligente. Et voici quelques améliorations que je vous propose :

Vérifier si les champs ne sont pas vides comme on l’avait fait sur notre formulaire du livre d’or. Dans ce cas si nous voulons vérifier si le champ nom n’est pas vide, nous pouvons procéder de deux façons :

  • if ($_POST['nom'] != NULL)
  • if (!empty($_POST["nom"]))

Vérifier si l’adresse email a vraiment le format d’une adresse email. Dans ce cas on peut faire ainsi :
if (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$",$_POST["email"])) pour dire si le champ email n'a pas le formmat d'une adresse email.

Préparer un accusé de réception qui sera envoyé automatiquement sur la boite email de l’expéditeur.

Ajouter un captcha pour éviter que des robots vous spamment.

Si vous avez des questions posez-les sur le forum.
C’est la fin de notre TP, bonne chance et amusez vous bien.




Une question? Cliquez ici pour la poser.

Retour sur le portail du PHP