IV.) Le PHP du formulaire
Bon, voila la partie qui va, je pense, être la plus longue. Dedans, il va y avoir le code pour vérifier les champs qui sont obligatoires pour voir s'ils ne sont pas vides, vérifier si l'adresse E-Mail est correcte (ben ... façon de dire. Si elle a une bonne forme. Car on ne peut vérifier si l'adresse existe vraiment
), l'affichage des erreurs (si il y en a bien sur :mrgreen: ), l'envoi de l'E-Mail, l'affichage d'un texte de remerciement, et encore d'autres petits trucs par ci par là ...
Donc on y va. On commence avec, une chose assez importante, votre E-Mail. Oui, car si un visiteur vous contact, il faut bien que ça arrive quelque part ... Ensuite, on traite les données du formulaire, et on indique en "$etat", une valeur "erreur" pour le moment car on n'a rien vérifier. Donc ça nous donne ça :
Code : Tout sélectionner
<?php
// E-Mail du destinataire
$email_webmaster = "*********@******.**";
// Traitement des données du formulaire
if (isset($_POST["envoyer"])){
// Le formulaire a été soumis.
$etat = "erreur";
// Pour le moment, l'état est erreur. Si toutes les informations sont juste, l'état changera par la suite.
?>
On ajoute maintenant la mise en forme des champs, et on test si les champs obligatoires ne sont pas vide. Ensuite, on vérifie également si l'adresse E-Mail à une forme correcte. Si quelque chose à une erreur, on affiche une description à cette erreur. Si tout roule correctement, alors on modifie la valeur de "$etat" en "ok" :
Code : Tout sélectionner
// Mise en forme des champs saisis dans le formulaire lors de sa soumission
if (isset($_POST["email_expediteur"])) {
$_POST["email_expediteur"]=trim(stripslashes($_POST["email_expediteur"]));
}
if (isset($_POST["nom"])) {
$_POST["nom"]=trim(stripslashes($_POST["nom"]));
}
if (isset($_POST["prenom"])) {
$_POST["prenom"]=trim(stripslashes($_POST["prenom"]));
}
if (isset($_POST["titre"])) {
$_POST["titre"]=trim(stripslashes($_POST["titre"]));
}
if (isset($_POST["message"])) {
$_POST["message"]=trim(stripslashes($_POST["message"]));
}
// Test de la validité des champs saisis
if (empty($_POST["email_expediteur"])) {
// Si le champs de l'E-Mail est vide :
$erreur="Merci de saisir votre adresse email.";
}
elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*.[a-z]{2,3}$",$_POST["email_expediteur"])){
// Si l'adresse E-Mail n'est pas une adresse E-Mail valide :
$erreur="Votre adresse e-mail n'est pas valide. Merci de recommencer.";
}
elseif (empty($_POST["nom"])) {
// Si le champs du nom est vide :
$erreur="Merci de saisir votre nom.";
}
elseif (empty($_POST["prenom"])) {
// Si le champs du prénom est vide :
$erreur="Merci de saisir votre prénom.";
}
elseif (empty($_POST["message"])) {
// Si le champs du message est vide :
$erreur="Merci de saisir votre message.";
}
else {
// Tout les champs ont correctement été remplis, on remplace alors l'état en "ok".
$etat="ok";
}
}
Maintenant, si le cette page est lu mais qu'aucunes informations n'a encore été rentrées dans le formulaire, on modifie l valeur de "$etat" en "attente". Et si il y a eu des erreurs plus haut, il faut l'afficher :
Code : Tout sélectionner
else {
// Si le formulaire n'a pas été soumis :
$etat="attente";
}
// Fin de traitement des données du formulaire
// Si le formulaire n'a pas été soumis, ou soumis avec une erreur :
if ($etat!="ok"){
if ($etat=="erreur"){
// Si le formulaire a été soumis avec une erreur, on affiche l'erreur :
echo "<p><strong>".$erreur."</strong></p>n";
}
[centrer]
A cette place, on insère le code HTML.[/centrer]
Maintenant, on envoi le mail si tout est correct, et on affiche une page de remerciement (ou une page pour dire que l'E-Mail n'a pu être envoyé).
Code : Tout sélectionner
<?php
}
else {
// Si le formulaire a été soumis sans erreur, on envoie l'E-Mail :
// On récupère l'E-Mail de l'expéditeur pour l'en-tête :
$entete = "From: ".$_POST["email_expediteur"]."";
// Et on envoi
if (@mail($email_webmaster,$_POST["titre"],$_POST["message"],$entete)){
// Si l'E-Mail a été envoyé :
echo "Votre message a correctement été envoyé. <br/>Merci.<br/>Aurélien.<br/><br/><br/><br/>";
echo "<a href='index.php'>Retour à l'accueil.<br/><br/></a>";
}
else {
// Si il y a eu une erreur lors de l'envoi de l'E-Mail :
echo "Un problème s'est produit lors de l'envoi du message.<br/>Merci de recommencer.<br/>Si le problème perciste, merci de me contacter à *******@********.** <br/><br/>Aurélien";
echo "<a href='contact.php'>Cliquer ici pour retourner à la page de contact.</a><br /><br /><br /><br /><br /><br /><br /><br /><br />n";
}
}
?>
Et voila, le principal est terminé ! :D