mardi 3 mars 2015

Formulaire avec envoi par mail - PHP

03:02

Notre objectif dans ce tutoriel, va être de créer un formulaire en php avec l'envoi des données saisies par mail. Dans un premier temps nous allons créer et organiser un formulaire en HTML, pour cela il faut préparer les informations que nous allons demander dans notre formulaire, pour ma part, dans ce tutoriel, je n'utiliserai que 3 champs :
- Le nom
- L'adresse email
- Le message à transmettre
Comme pour tous formulaire nous allons commencer avec la balise FORM, qui aura pour objectif de déclarer une zone de formulaire. Dans notre FORM, nous utiliserons la valeur POST qui aura pour but de transmettre les données stockées dans le corps de la requête.
Dans l'attribut ACTION, nous allons indiquer l'adresse d'envoi, dans notre exemple sa sera le fichier {traitement.php} qui sera réalisé après le formulaire HTML. A la suite, nous allons créer les champs qui seront à remplir. Et bien sûr ne pas oublier le bouton pour l'envoi du formulaire.
****************************************Code****************************************
<form action="traitement.php" method="post">
<label for="nom">Nom</label>
<input id="nom" name="nom" type="text" value=""/>
<label for="email">Adresse email</label>
<input id="email" name="email" type="text" value=""/>
<label for="message">Message</label>
<textarea id="message" name="message"></textarea>
<button type="submit">Envoyer</button>
</form>
****************************************Code****************************************

Maintenant que nous avons traiter les champs pour les envoyer par mail, nous allons donc créer notre page PHP en la nommant {traitement.php}.
Lorsque le formulaire est validé avec la méthode POST, des variables de nos champs sont crées, les variables $_POST. Dans notre exemple, lors de la validation du formulaire les variables $_POST['nom'], $_POST['email'] et $_POST['message'] sont créées.
C'est grâce à ces variables que nous allons pouvoir récupérer les données transmises dans le formulaire, mais avant de les récupérer nous devons les vérifier. Nous allons donc récupérer les variables pour pouvoir vérifier que les champs ne sont pas vides et que le formulaire est bien envoyé.
****************************************Code****************************************
if(isset($_POST) && isset($_POST['nom']) && isset($_POST['email']) && isset($_POST['message'])){
if(!empty($_POST['nom']) && !empty($_POST['email']) && !empty($_POST['message'])){
//Exécution si le formulaire est posté et si les champs sont rempli
}
}
****************************************Code****************************************
isset: Détermine si une variable est définie et est différente de NULL.
Empty: Détermine si une variable est considérée comme vide.
Maintenant que nous avons vérifié et récupéré les variables, nous allons pouvoir les transmettre.

Dans un second temps nous allons indiquer le destinataire, celui qui recevra les données postées depuis le formulaire. Puis préciser le sujet, le message et l'en-tête du message.
****************************************Code****************************************
$destinataire = "exemple@mail.fr";
$sujet = "Demande de contact";

$message = "Nom : ".$_POST['nom']."\r\n";
$message = "Adresse email : ".$_POST['email']."\r\n";
$message = "Message : ".$_POST['message']."\r\n";
$entete = 'From: '.$_POST['email']."\r\n".
'Reply-To: '.$_POST['email']."\r\n".
'X-Mailer: PHP/'.phpversion();
****************************************Code****************************************
Ensuite nous allons envoyer le mail avec la fonction PHP _mail()_ qui prend en paramètre un destinataire, un sujet, le corps et l'en-tête. Si le mail est bien expédié, un message de confirmation s'affiche. Dans le cas contraire, si le mail n'est pas expédié nous affichons un message d'erreur.
****************************************Code****************************************
if (mail($destinataire,$sujet,$message,$entete)){
//Le mail a été expédié
echo 'Message envoyé';
} else {
//Le mail n'a pas été expédié
echo "Une erreur est survenue lors de l'envoi du formulaire par email";
}
****************************************Code****************************************
Et voici le code finale
****************************************Code****************************************
if(isset($_POST) && isset($_POST['nom']) && isset($_POST['email']) && isset($_POST['message'])){
if(!empty($_POST['nom']) && !empty($_POST['email']) && !empty($_POST['message'])){
$destinataire = "exemple@mail.fr";
$sujet = "Demande de contact";
$message = "Nom : ".$_POST['nom']."\r\n";
$message = "Adresse email : ".$_POST['email']."\r\n";
$message = "Message : ".$_POST['message']."\r\n";
$entete = 'From: '.$_POST['email']."\r\n".
'Reply-To: '.$_POST['email']."\r\n".
'X-Mailer: PHP/'.phpversion();
if (mail($destinataire,$sujet,$message,$entete)){
echo 'Message envoyé';
} else {
echo "Une erreur est survenue lors de l'envoi du formulaire par email";
}
}
}
****************************************Code****************************************

0 commentaires:

Enregistrer un commentaire

 

© 2015 Galsen Coder's, by JokerSoft . Tous Droits Résèrvés.

Back To Top