|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
FORMULAIRE DE CONTACT MULTICHAMPS
Information sur la source
Description
Un formulaire de contact assez complet avec envoi d'un accusé. Utile pour un petit site professionnel ou associatif. En démo ici: http://viki53.free.fr/contact.php /!\ Ce script sert pour mon site, évitez de l'utiliser abusivement pour ne pas pourrir ma BAL.
Source
- <?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["titre"])) $_POST["titre"]=trim(stripslashes($_POST["titre"]));
-
- if (isset($_POST["nom"])) $_POST["nom"]=trim(stripslashes($_POST["nom"]));
-
- if (isset($_POST["prenom"])) $_POST["prenom"]=trim(stripslashes($_POST["prenom"]));
-
- if (isset($_POST["email"])) $_POST["email"]=trim(stripslashes($_POST["email"]));
-
- if (isset($_POST["url"])) $_POST["url"]=trim(stripslashes($_POST["url"]));
-
- if (isset($_POST["pays"])) $_POST["pays"]=trim(stripslashes($_POST["pays"]));
-
- if (isset($_POST["adresse"])) $_POST["adresse"]=trim(stripslashes($_POST["adresse"]));
-
- if (isset($_POST["code_postal"])) $_POST["code_postal"]=trim(stripslashes($_POST["code_postal"]));
-
- if (isset($_POST["ville"])) $_POST["ville"]=trim(stripslashes($_POST["ville"]));
-
- if (isset($_POST["telephone"])) $_POST["telephone"]=trim(stripslashes($_POST["telephone"]));
-
- if (isset($_POST["objet"])) $_POST["objet"]=trim(stripslashes($_POST["objet"]));
-
- if (isset($_POST["priorite"])) $_POST["priorite"]=trim(stripslashes($_POST["priorite"]));
-
- if (isset($_POST["message"])) $_POST["message"]=trim(stripslashes($_POST["message"]));
-
- // Après la mise en forme, on vérifie la validité des champs
- if (empty($_POST["nom"])) { // L'utilisateur n'a pas rempli le champ pseudo
- $erreur="Vous n'avez pas entré votre nom..."; // On met dans erreur le message qui sera affiché
- }
- elseif (empty($_POST["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["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...";
- }
- elseif (empty($_POST["objet"])) { // L'utilisateur n'a pas rempli le champ objet
- $erreur="Vous devez entrer l'objet de votre message...";
- }
- elseif (empty($_POST["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
- }
- ?>
- <div class="contactform">
- <form method="post">
- <fieldset><legend> Vos détails </legend>
- <p><label for="contact_title" class="left">Votre titre :</label>
- <select name="titre" id="contact_title" class="combo">
- <option value="M." selected="selected">M.</option>
- <option value="Mme">Mme</option>
- <option value="Mlle">Mlle</option></select></p>
-
- <p><label for="contact_firstname" class="left">Nom* :</label>
- <input type="text" name="nom" id="contact_firstname" class="field" value="<?php
- if (!empty($_POST["nom"])) {
- echo htmlspecialchars($_POST["nom"],ENT_QUOTES);
- }
- ?>" /></p>
-
- <p><label for="contact_familyname" class="left">Prénom :</label>
- <input type="text" name="prenom" id="contact_familyname" class="field" value="<?php
- if (!empty($_POST["prenom"])) {
- echo htmlspecialchars($_POST["prenom"],ENT_QUOTES);
- }
- ?>" /></p>
-
- <p><label for="contact_street" class="left">Adresse :</label>
- <input type="text" name="adresse" id="contact_street" class="field" value="<?php
- if (!empty($_POST["adresse"])) {
- echo htmlspecialchars($_POST["adresse"],ENT_QUOTES);
- }
- ?>" /></p>
-
- <p><label for="contact_postalcode" class="left">Code postal :</label>
- <input type="text" name="code_postal" id="contact_postalcode" class="field" value="<?php
- if (!empty($_POST["code_postal"])) {
- echo htmlspecialchars($_POST["code_postal"],ENT_QUOTES);
- }
- ?>" /></p>
-
- <p><label for="contact_city" class="left">Ville :</label>
- <input type="text" name="ville" id="contact_city" class="field" value="<?php
- if (!empty($_POST["ville"])) {
- echo htmlspecialchars($_POST["ville"],ENT_QUOTES);
- }
- ?>" /></p>
-
- <p><label for="contact_country" class="left">Pays:</label>
- <select name="pays" id="contact_country" class="combo">
- <option value="N/A">Sélection...</option>
- <option value="France">France</option>
- <option value="Canada">Canada</option>
- <option value="Etats-Unis">États-Unis</option>
- </select></p>
-
- <p><label for="contact_phone" class="left">Téléphone :</label>
- <input type="text" name="telephone" id="contact_phone" class="field" value="<?php
- if (!empty($_POST["telephone"])) {
- echo htmlspecialchars($_POST["telephone"],ENT_QUOTES);
- }
- ?>" /></p>
-
- <p><label for="contact_email" class="left">E-mail* :</label>
- <input type="text" name="email" id="contact_email" class="field" value="<?php
- if (!empty($_POST["email"])) {
- echo htmlspecialchars($_POST["email"],ENT_QUOTES);
- }
- ?>" /></p>
-
- <p><label for="contact_url" class="left">Site Web :</label>
- <input type="text" name="url" id="contact_url" class="field" value="<?php
- if (!empty($_POST["url"])) {
- echo htmlspecialchars($_POST["url"],ENT_QUOTES);
- }
- ?>" /></p>
-
- </fieldset>
-
-
- <fieldset><legend> Détails du message </legend>
- <p><label for="contact_subject" class="left">Sujet* :</label>
- <input type="text" name="objet" id="contact_subject" class="field" value="<?php
- if (!empty($_POST["objet"])) {
- echo htmlspecialchars($_POST["objet"],ENT_QUOTES);
- }
- ?>" /></p>
-
- <p><label for="contact_urgency" class="left">Priorité :</label>
- <select name="priorite" id="contact_urgency" class="combo">
- <option value="Très basse">Très basse</option>
- <option value="Basse">Basse</option>
- <option value="Normale" selected="selected">Normale</option>
- <option value="Haute">Haute</option>
- <option value="Très Haute">Très haute</option></select></p>
-
- <p><label for="contact_message" class="left">Message* :</label>
- <textarea name="message" id="contact_message" cols="45" rows="10"><?php
- if (!empty($_POST["message"])) {
- echo htmlspecialchars($_POST["message"],ENT_QUOTES);
- }
- ?></textarea></p>
- <p>Formulaire fourni par viki53 (http://viki53.free.fr/)</p>
- <p><input type="submit" name="envoyer" class="button" value="Envoyer" /></p>
- </fieldset>
- </form>
- </div>
- <?php
- }
- else { // Sinon l'état est ok donc on envoie le mail
- $titre = $_POST["titre"];
- $nom = $_POST["nom"]; // On stocke les variables récupérées du formulaire
- $email = $_POST["email"];
- $url = $_POST["url"];
- $objet = $_POST["objet"];
- $message = $_POST["message"];
- $adresse = $_POST["adresse"];
- $code_postal = $_POST["code_postal"];
- $ville = $_POST["ville"];
- $pays = $_POST["pays"];
- $telephone = $_POST["telephone"];
- $priorite = $_POST["priorite"];
- // ================= Les 3 lignes suivantes sont à modifier ====================================
- $mon_email = "user@site.com"; // Mise en forme du message que vous recevrez
- $mon_pseudo = ".:mwa:.";
- $mon_url = "http://viki53.free.fr/";
- $msg_pour_moi = "
- Par $titre $nom $prenom
- - E-mail : $email
- - URL : $url
- - Objet du message : $objet
- - Message :
- $message
-
- - Autres:
- Adresse: $adresse
- $code_postal
- $ville
- $pays
- Tel: $telephone";
-
- // Mise en forme de l'accusé réception qu'il recevra
- $accuse_pour_lui = "
- Bonjour $titre $nom nous tâcherons de vous répondre le plus rapidement possible.\n\n
- - Votre E-mail : $email \n
- - Votre site : $url
- - L'objet de votre message : $objet
- - Votre message :
- $message
-
- Merci et à bientôt sur $mon_url !
-
- Formulaire fourni par viki53 (http://viki53.free.fr/)";
-
- // Envoie du mail
- $entete = "From: " . $mon_mail . "\n
- Priorité: $priorité\n"; // On prépare l'entête du message
- $entete .= "";
-
- if (@mail($mon_email,$objet,$msg_pour_moi,$entete) && @mail($email,$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
- }
- }
- ?>
<?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["titre"])) $_POST["titre"]=trim(stripslashes($_POST["titre"]));
if (isset($_POST["nom"])) $_POST["nom"]=trim(stripslashes($_POST["nom"]));
if (isset($_POST["prenom"])) $_POST["prenom"]=trim(stripslashes($_POST["prenom"]));
if (isset($_POST["email"])) $_POST["email"]=trim(stripslashes($_POST["email"]));
if (isset($_POST["url"])) $_POST["url"]=trim(stripslashes($_POST["url"]));
if (isset($_POST["pays"])) $_POST["pays"]=trim(stripslashes($_POST["pays"]));
if (isset($_POST["adresse"])) $_POST["adresse"]=trim(stripslashes($_POST["adresse"]));
if (isset($_POST["code_postal"])) $_POST["code_postal"]=trim(stripslashes($_POST["code_postal"]));
if (isset($_POST["ville"])) $_POST["ville"]=trim(stripslashes($_POST["ville"]));
if (isset($_POST["telephone"])) $_POST["telephone"]=trim(stripslashes($_POST["telephone"]));
if (isset($_POST["objet"])) $_POST["objet"]=trim(stripslashes($_POST["objet"]));
if (isset($_POST["priorite"])) $_POST["priorite"]=trim(stripslashes($_POST["priorite"]));
if (isset($_POST["message"])) $_POST["message"]=trim(stripslashes($_POST["message"]));
// Après la mise en forme, on vérifie la validité des champs
if (empty($_POST["nom"])) { // L'utilisateur n'a pas rempli le champ pseudo
$erreur="Vous n'avez pas entré votre nom..."; // On met dans erreur le message qui sera affiché
}
elseif (empty($_POST["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["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...";
}
elseif (empty($_POST["objet"])) { // L'utilisateur n'a pas rempli le champ objet
$erreur="Vous devez entrer l'objet de votre message...";
}
elseif (empty($_POST["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
}
?>
<div class="contactform">
<form method="post">
<fieldset><legend> Vos détails </legend>
<p><label for="contact_title" class="left">Votre titre :</label>
<select name="titre" id="contact_title" class="combo">
<option value="M." selected="selected">M.</option>
<option value="Mme">Mme</option>
<option value="Mlle">Mlle</option></select></p>
<p><label for="contact_firstname" class="left">Nom* :</label>
<input type="text" name="nom" id="contact_firstname" class="field" value="<?php
if (!empty($_POST["nom"])) {
echo htmlspecialchars($_POST["nom"],ENT_QUOTES);
}
?>" /></p>
<p><label for="contact_familyname" class="left">Prénom :</label>
<input type="text" name="prenom" id="contact_familyname" class="field" value="<?php
if (!empty($_POST["prenom"])) {
echo htmlspecialchars($_POST["prenom"],ENT_QUOTES);
}
?>" /></p>
<p><label for="contact_street" class="left">Adresse :</label>
<input type="text" name="adresse" id="contact_street" class="field" value="<?php
if (!empty($_POST["adresse"])) {
echo htmlspecialchars($_POST["adresse"],ENT_QUOTES);
}
?>" /></p>
<p><label for="contact_postalcode" class="left">Code postal :</label>
<input type="text" name="code_postal" id="contact_postalcode" class="field" value="<?php
if (!empty($_POST["code_postal"])) {
echo htmlspecialchars($_POST["code_postal"],ENT_QUOTES);
}
?>" /></p>
<p><label for="contact_city" class="left">Ville :</label>
<input type="text" name="ville" id="contact_city" class="field" value="<?php
if (!empty($_POST["ville"])) {
echo htmlspecialchars($_POST["ville"],ENT_QUOTES);
}
?>" /></p>
<p><label for="contact_country" class="left">Pays:</label>
<select name="pays" id="contact_country" class="combo">
<option value="N/A">Sélection...</option>
<option value="France">France</option>
<option value="Canada">Canada</option>
<option value="Etats-Unis">États-Unis</option>
</select></p>
<p><label for="contact_phone" class="left">Téléphone :</label>
<input type="text" name="telephone" id="contact_phone" class="field" value="<?php
if (!empty($_POST["telephone"])) {
echo htmlspecialchars($_POST["telephone"],ENT_QUOTES);
}
?>" /></p>
<p><label for="contact_email" class="left">E-mail* :</label>
<input type="text" name="email" id="contact_email" class="field" value="<?php
if (!empty($_POST["email"])) {
echo htmlspecialchars($_POST["email"],ENT_QUOTES);
}
?>" /></p>
<p><label for="contact_url" class="left">Site Web :</label>
<input type="text" name="url" id="contact_url" class="field" value="<?php
if (!empty($_POST["url"])) {
echo htmlspecialchars($_POST["url"],ENT_QUOTES);
}
?>" /></p>
</fieldset>
<fieldset><legend> Détails du message </legend>
<p><label for="contact_subject" class="left">Sujet* :</label>
<input type="text" name="objet" id="contact_subject" class="field" value="<?php
if (!empty($_POST["objet"])) {
echo htmlspecialchars($_POST["objet"],ENT_QUOTES);
}
?>" /></p>
<p><label for="contact_urgency" class="left">Priorité :</label>
<select name="priorite" id="contact_urgency" class="combo">
<option value="Très basse">Très basse</option>
<option value="Basse">Basse</option>
<option value="Normale" selected="selected">Normale</option>
<option value="Haute">Haute</option>
<option value="Très Haute">Très haute</option></select></p>
<p><label for="contact_message" class="left">Message* :</label>
<textarea name="message" id="contact_message" cols="45" rows="10"><?php
if (!empty($_POST["message"])) {
echo htmlspecialchars($_POST["message"],ENT_QUOTES);
}
?></textarea></p>
<p>Formulaire fourni par viki53 (http://viki53.free.fr/)</p>
<p><input type="submit" name="envoyer" class="button" value="Envoyer" /></p>
</fieldset>
</form>
</div>
<?php
}
else { // Sinon l'état est ok donc on envoie le mail
$titre = $_POST["titre"];
$nom = $_POST["nom"]; // On stocke les variables récupérées du formulaire
$email = $_POST["email"];
$url = $_POST["url"];
$objet = $_POST["objet"];
$message = $_POST["message"];
$adresse = $_POST["adresse"];
$code_postal = $_POST["code_postal"];
$ville = $_POST["ville"];
$pays = $_POST["pays"];
$telephone = $_POST["telephone"];
$priorite = $_POST["priorite"];
// ================= Les 3 lignes suivantes sont à modifier ====================================
$mon_email = "user@site.com"; // Mise en forme du message que vous recevrez
$mon_pseudo = ".:mwa:.";
$mon_url = "http://viki53.free.fr/";
$msg_pour_moi = "
Par $titre $nom $prenom
- E-mail : $email
- URL : $url
- Objet du message : $objet
- Message :
$message
- Autres:
Adresse: $adresse
$code_postal
$ville
$pays
Tel: $telephone";
// Mise en forme de l'accusé réception qu'il recevra
$accuse_pour_lui = "
Bonjour $titre $nom nous tâcherons de vous répondre le plus rapidement possible.\n\n
- Votre E-mail : $email \n
- Votre site : $url
- L'objet de votre message : $objet
- Votre message :
$message
Merci et à bientôt sur $mon_url !
Formulaire fourni par viki53 (http://viki53.free.fr/)";
// Envoie du mail
$entete = "From: " . $mon_mail . "\n
Priorité: $priorité\n"; // On prépare l'entête du message
$entete .= "";
if (@mail($mon_email,$objet,$msg_pour_moi,$entete) && @mail($email,$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
}
}
?>
Conclusion
Et voilà un formulaire utile et simple. Un maximum de détail peut se révéler utile. P.S: Seul nom, email, objet et message sont obligatoires. La modification peut être faite très rapidement si vous souhaitez rendre d'autres champs obligatoires. A vous de jouer !
Historique
- 09 février 2008 12:58:35 :
- Précision de l'envoi de l'accusé
- 09 février 2008 23:07:31 :
- Ajout d'un aperçu et modification du descriptif.
- 26 février 2008 23:07:35 :
- Merci de ne pas abuser de la démo pour ne pas pourrir ma boîte.
Sources du même auteur
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
code simple pour formulaire [ par bernard ]
bonsoir à tous, je suis débutant de chez débutant et j'ai besoin d'aide.je voudrais réaliser un programme en php.il s'agit d'un formulaire où le visit
formulaire sans bdd ? [ par ze_bassman ]
voilà, j'ai un formulaire simple a creer (4 champs de texte, une zone de texte et un menu déroulant, je souhaiterai que les données soient envoyé par
formulaire de contact [ par ghazizix ]
bonjour, je veux créer un formulaire de contact dont un user ne peut se contacter que si s'identifier avant ainsi que je veux ajouter un ch
question simple dur l'action d'un formulaire [ par developvbdebut ]
Bonjour tout le monde Je voudrais mêttre mon script php en dessou du formulaire, j'ignore quoi mettre dans l'action du formulaire.Voici
Chemin complet d'un fichier via formulaire [ par hippyz ]
Salut. Voilà je souhaiterais obtenir le chemin complet d'un fichier sélectionné via un formulaire. Merci.
Question simple [ par LaTatadu91 ]
Bonjour,voila j'ai une question tres simple:j'effectue dans un script un controle des champs d'un formulaire pour savoir si ils sont bien rempliset ds
formulaire simple sans mailto: avec fenêtre de confirmation [ par bullemalo ]
bonjour, j'imagine que la question a déjà été posée. Voilà je suis nouvelle dans le monde du PHP alors soyez indulgents... J'ai crée un formulaire sur
Retour a la ligne affichage d'un formulaire [ par ArC3Nik ]
BonjourMon problème et simple je pense...J'ai un page avec un formulaire :dans mon formulaire un un champ texte multilignesEt et quand ont clique sur
Mettre entre balise par simple click,un texte selectionné... [ par skab ]
Bonjour! voila je voudrais savoir comment faire pour mettre entre balises un morceau de texte selectioné dans un formulaire j'utilise deja
Formulaire en PHP ! [ par boby1313 ]
Salut jaimerais que vous me donner tout le code complet complet complet! d'un formulaire deja fais de A à Z tout me le marquer pour la page formulaire
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|