<?php
if (isset($_POST["envoyer"])){ // Si le formulaire a été soumis
$etat = "erreur"; // On initialise notre etat à erreur, il sera changé à "ok" si la vérification du formulaire est un succès, sinon il reste à erreur
// On récupère les champs du formulaire, et on arrange leur mise en forme
if (isset($_POST["son_nom"])) $_POST["son_nom"]=trim(stripslashes
($_POST["son_nom"])); // trim() enlève les espaces en début et fin de chaine
if (isset($_POST["son_email"])) $_POST["son_email"]=trim(stripslashes
($_POST["son_email"])); // stripslashes() retire les backslashes ==> \' devient '
if (isset($_POST["son_adresse"])) $_POST["son_adresse"]=trim(stripslashes(
$_POST["son_adresse"]));
if (isset($_POST["son_objet"])) $_POST["son_objet"]=trim(stripslashes
($_POST["son_objet"]));
if (isset($_POST["son_message"])) $_POST["son_message"]=trim(stripslashes
($_POST["son_message"]));
// Après la mise en forme, on vérifie la validité des champs
if (empty($_POST["son_nom"])) { // L'utilisateur n'a pas rempli le champ nom
$erreur="Vous n'avez pas entré votre nom..."; // On met dans erreur le message qui sera affiché
}
elseif (empty($_POST["son_email"])) { // L'utilisateur n'a pas rempli le champ email
$erreur="Nous avons besoin de votre e-mail pour vous répondre...";
}
elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$",$_POST["son_email"])){
// On vérifie si l'email est bien de la forme messagerie@domaine.tld (cf cours d'expressions régulières)
$erreur="Votre adresse e-mail n'est pas valide...";
}
if (empty($_POST["choix"])) { // L'utilisateur n'a pas rempli le champ choix
$erreur="Merci de sélectionner une prestation..."; // On met dans erreur le message qui sera affiché
}
elseif (empty($_POST["son_objet"])) { // L'utilisateur n'a pas rempli le champ objet
$erreur="Vous devez entrer l'objet de votre message...";
}
elseif (empty($_POST["son_message"])) { // L'utilsateur n'a écrit aucun message
$erreur="Merci de saisir un message...";
}
else { // Si tous les champs sont valides, on change l'état à ok
$etat="ok";
}
}
else { // Sinon le formulaire n'a pas été soumis
$etat="attente"; // On passe donc dans l'état attente
}
if ($etat!="ok"){ // Le formulaire a été soumis mais il y a des erreurs etat=erreur) OU le formulaire n'a pas été soumis (etat=attente)
if ($etat=="erreur"){ // Cas où le formulaire a été soumis mais il y a des erreurs
echo "<span style=\"color:red\">".$erreur."</span><br /><br />\n";
// On affiche le message correspondant à l'erreur
}
?>
<!-- Formulaire HTML qu'on affiche dans l'état attente ou erreur -->
<form method="post" action="
<?php echo $_SERVER["PHP_SELF"]; ?>">
<!-- Les données du formulaire seront récupérée avec la méthode POST,
et action correspond à la page contenant le formulaire -->
<table id=tab-form-contact>
<tr>
<th class=ch-oblig colspan="3">* Champs obligatoires</th>
</tr>
<tr>
<th><label for="son_nom">Nom *</label></th>
<td > </td>
<td><!-- Intitulé du champ nom -->
<input type="text" size="30" name="son_nom" id="son_nom" value="
<?php
if (!empty($_POST["son_nom"])) {
// le nom de l'expéditeur a été saisi --> le réafficher
echo htmlspecialchars($_POST["son_nom"],ENT_QUOTES);
// htmlspecialchars() convertit les caractères spéciaux en leurs code html,exemple : & devient &
}
?>" /></td>
</tr>
<tr>
<th><label for="son_nom">Prénom </label></th>
<td> </td>
<td><!-- Intitulé du champ nom -->
<input type="text" size="30" name="son_prenom" id="son_prenom" value="
<?php
if (!empty($_POST["son_prenom"])) {
// le nom de l'expéditeur a été saisi --> le réafficher
echo htmlspecialchars($_POST["son_prenom"],ENT_QUOTES);
// htmlspecialchars() convertit les caractères spéciaux en leurs code html,exemple : & devient &
}
?>" /></td>
</tr>
<tr>
<th><label for="son_nom">Courriel *</label></th>
<td> </td>
<td><!-- Intitulé du champ e-mail -->
<input type="text" size="40" name="son_email" id="son_email" value="
<?php
if (!empty($_POST["son_email"])) {
// l'e-mail de l'expéditeur a été saisi --> le réafficher
echo htmlspecialchars($_POST["son_email"],ENT_QUOTES);
}
?>" /></td>
</tr>
<tr>
<th><label for="son_nom">Téléphone </label></th>
<td> </td>
<td><input name="son_tel" type="text" id="son_tel" value="
<?php
if (!empty($_POST["son_tel"])) {
// le telephone de l'expéditeur a été saisi --> le réafficher
echo htmlspecialchars($_POST["son_tel"],ENT_QUOTES);
// htmlspecialchars() convertit les caractères spéciaux en leurs code html,exemple : & devient &
}
?>" size="30" maxlength="10" />
Sans point et sans espace</td>
</tr>
<tr>
<th><label for="son_adresse">Adresse </label></th>
<td> </td>
<td><!-- Intitulé du champ adresse (facultatif) -->
<input type="text" size="40" name="son_adresse" id="son_adresse" value="
<?php
if (!empty($_POST["son_adresse"])) {
// l'adresse a été saisi --> la réafficher
echo htmlspecialchars($_POST["son_adresse"],ENT_QUOTES);
}
?>" /></td>
</tr>
<tr>
<th><label for="son_nom">Prestations *</label></th>
<td> </td>
<td><table width="310">
<tr>
<td><label>
<input type="radio" name="choix" value="pao" id="choix_0">
PAO</label></td>
</tr>
<tr>
<td><label>
<input type="radio" name="choix" value="photo" id="choix_1">
Photo</label></td>
</tr>
<tr>
<td><label>
<input type="radio" name="choix" value="paophoto" id="choix_2">
PAO + Photo</label>
</td>
<td>Sélectionnez une prestation</td>
</tr>
</table>
</td>
</tr>
<tr>
<th><label for="son_objet">Objet *</label>
</th>
<td> </td>
<td><!-- Intitulé du champ objet -->
<input type="text" size="40" name="son_objet" id="son_objet" value="
<?php
if (!empty($_POST["son_objet"])) {
// l'objet du message a été saisi --> le réafficher
echo htmlspecialchars($_POST["son_objet"],ENT_QUOTES);
}
?>" /></td>
</tr>
<tr>
<th><label for="son_message">Message *</label></th>
<td> </td>
<td><!-- Intitulé du champ message -->
<textarea name="son_message" id="son_message" cols="50" rows="3">
<?php
if (isset($_POST["son_message"])) {
// le message a été saisi --> le réafficher
echo htmlspecialchars($_POST["son_message"],ENT_QUOTES);
}
?>
</textarea></td>
</tr>
<tr>
<td class=td-foot colspan="3"><input type="submit" name="envoyer" value="Envoyer" />
<input type="reset"
name="reset" value="Effacer" /></td>
</tr>
</table>
<p style="text-align:left"> <br />
</form>
<!-- FIN du formulaire HTML -->
<?php
}
else { // Sinon l'état est ok donc on envoie le mail
$son_nom = $_POST["son_nom"]; // On stocke les variables récupérées du formulaire
$son_email = $_POST["son_email"];
$son_adresse = $_POST["son_adresse"];
$son_objet = $_POST["son_objet"];
$son_message = $_POST["son_message"];
$mon_email = "contact@paophoto89.fr"; // Mise en forme du message que vous recevrez
$mon_nom = "PaoPhoto89";
$mon_url = "[url]http://www.paophoto89.com[/url]";
$msg_pour_moi = "
- Son nom : $son_nom \n
- Son prenom : $son_prenom \n
- Son courriel : $son_email \n
- Son telephone : $son_tel \n
- Son adresse : $son_adresse \n
- Sa prestation : $choix \n
- Objet du message : $son_objet \n
- Message : \n $son_message \n\n";
// Mise en forme de l'accusé réception qu'il recevra
$accuse_pour_lui = "Bonjour $son_nom,\n
Votre message nous a bien été envoyé et nous tâcherons de vous répondre le plus
rapidement possible.\n\n
- Votre E-mail : $son_email \n
- Votre prestation : $choix \n
- L'objet de votre message : $son_objet \n
- Votre message : \n $son_message \n\n
Merci et à bientôt sur [url]http://www.paophoto89.com[/url] !";
// Envoie du mail
$entete = "From: " . $mon_nom . " <" . $mon_email . ">\n"; // On prépare l'entête du message
$entete .= "MIME-Version: 1.0";
if (@mail($mon_email,$son_objet,$msg_pour_moi,$entete) &&
@mail($son_email,$son_objet,$accuse_pour_lui,$entete)){ // Si le mail a été envoyé
echo "<p style=\"text-align:center\">Votre message a été
envoyé, vous recevrez une confirmation par mail.<br /><br />\n";
// On affiche un message de confirmation
echo "<a href=\"" . $mon_url . "\">Retour</a></p>\n";
// Avec un lien de retour vers l'accueil du site
}
else { // Sinon il y a eu une erreur lors de l'envoi
echo "<p style=\"text-align:center\">Un problème s'est produit lors de
l'envoi du message.\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Réessayez...</a></p>\n";
// On propose un lien de retour vers le formulaire
}
}
?>