/*
Script d'envoi de formulaire sans vérification javascript
Auteur : Pierre Pesty - http://www.ppan.net/webdev/
Fichier additionnel : webdev_form.css
Champs obligatoires : Nom, Objet, Message, Email, Tel
Nombre de champs additionnels ilimité
*/
/* ---------------------------------------------
variables à modifier selon paramètres et besoins
--------------------------------------------- */
# le nom de page (et titre) change en fonction des événements
$pageName = "Formulaire de contact";
# en-tête de l'objet du mail (option)
$entete = "";
# email du webmestre
$destinataire = "commercial@lairdutemps.com";
# envoi en copie carbone et copie cachée (option)
$email_cc = "";
$email_bcc = "";
/* ------------------
fin des modifications
------------------ */
# initialisation des variables
$erreur = false;
$message = false;
$focus = 0;
# l'utilisateur a validé le formulaire (éventuellement vide)
if ($_POST) {
# vérification des champs requis (Nom, Objet, Message, Email ou Tel)
/*
NB : supprimer ces lignes de vérification en fonction du résultat désiré
ou en ajouter comme celles ci-dessous
*/
if (empty($_POST['Message'])) {
$erreur = "Merci de renseigner le message";
$focus = 1; // modification couleur du champ de saisie concerné
}
if (empty($_POST['Objet'])) {
$erreur = "Merci de renseigner l'objet";
$focus = 2;
}
if (empty($_POST['Nom'])) {
$erreur = "Merci de renseigner votre nom";
$focus = 3;
}
if (empty($_POST['Prénom'])) {
$erreur = "Merci de renseigner votre Prénom";
$focus = 7;
}
# email est vides : pas glop !
if (empty($_POST['Email'])) {
$erreur = "Saisir email SVP";
$focus = 4;
}
# Tél est vides : pas glop !
if (empty($_POST['Tel'])) {
$erreur = "Saisir Numéro de téléphone SVP";
$focus = 6;
}
# vérification de l'email non vide
elseif (!empty($_POST['Email'])) {
if(!preg_match('`^[[:alnum:]]([-_.]?[[:alnum:]])*@[[:alnum:]]([-_.]?[[:alnum:]])*\.([a-z]{2,4})$`',$_POST['Email'])) {
$erreur = "Email non conforme";
$_POST['Email'] = "";
$focus = 5;
}
# vérification du téléphone (sans espaces)
} elseif (!is_numeric(str_replace(" ","",$_POST['Tel']))) {
$erreur = "Téléphone non conforme";
$_POST['Tel'] = "";
$focus = 6;
}
# pas d'erreur donc on continue
if(!$erreur) {
# traitement du tableau $_POST qui contient les paires nom_du_champ => valeur
# il faut écrire les noms de champs de façon intelligibles par un humain !
foreach($_POST as $key => $value) {
/*
NB : si l'on ajoute des éléments de formulaire non désirés dans le mail
mais nommés (ex. name="nom") on ajoute une structure de contrôle comme suit :
if (!empty($value) && !eregi("(item1|item2|...)", $key))
soit autant d'items que de champs non traités, séparés par |
*/
if (!empty($value))
$message_final .= "$key : ".strip_tags($value)."\n";
}
# formatage du message de confirmation affiché
# conversion des sauts de ligne et des caractères spéciaux
$message = ereg_replace("(\n|\r|\r\n)", "
", htmlentities($message_final));
# composition de l'objet
$objet = "$entete ".$_POST['Objet'];
# si l'email n'est pas renseigné on le remplace par celui
# du destinataire, en ajoutant une alerte au message
$final_mail = $_POST['Email'];
if(empty($_POST['Email'])) {
$final_mail = $destinataire;
$message_final .= "\n\nNe pas répondre par mail (email absent).";
}
# composition des en-têtes
$headers = "From: ".$final_mail;
if(!empty($email_cc))
$headers .= "\nCC: ".$email_cc;
if(!empty($email_bcc))
$headers .= "\nBCC: ".$email_bcc;
# envoi du mail
if (@mail($destinataire,stripslashes($objet),stripslashes($message_final),$headers)) {
/*
Si l'on veut s'affranchir du message de confirmation mais tout de
même signaler l'envoi correct, activer la ligne ci-dessous en
redirigeant vers une page au choix, en traitant $_GET['mailOK']
pour afficher un message de confirmation (dans un coin de page)
*/
# @header('Location: index.php?mailOK=1');
# exit;
$pageName = "Votre mail a été envoyé ! Nous y répondrons au plus vite merci !"; // inutile si @header()
} else {
$pageName = "Echec de l'envoi !";
$erreur = "Merci d'essayer encore SVP";
}
} else {
$pageName = "Erreur de saisie !";
} // if(!$erreur)
} // if ($_POST)
?>
![]() 14, Rue Edouard Richard 68000 COLMAR - France Tél: 03.89.41.76.70 |
if (!$_POST || $erreur) { ?>
if (!$erreur) { ?>
ContactMerci de remplir tous les champs et nous indiquer avec le maximum de précision l'objet de votre demande. echo $erreur?> } ?>Les informations recueillies dans le présent questionnaire
Votre message a été envoyé !
|
2008
© l'Air du temps - Tous droits réservés