Formulaire de contact en php script |
|---|
Formulaire de contact en php scriptNote : 2.3/5 (7 votes) Derniéres modifications : 12/01/2010 à 05:58:06 Mots-Clés : formulaire de contact par email en php gratuit script gratuit fonction envoyer email mail formulaire de contact page joindre dans ce tutoriel, je vais vous montrer comment faire un formulaire de contact en php en utilisant le fonction mail. Ce script risque de ne pas fonctionner si votre hébergeur n'a pas la fonction mail activée(c'est souvent le cas pour hébergeurs gratuits). Ce formulaire de contact vas être assez simple, il y aura le formulaire en (X)html il contiendras les champs email, sujet, message. Lorsque le formulaire sera posté, nous allons vérifier l'adresse email que l'utilisateur a entré, nous allons mettre la valeur de l'email dans le header Reply-To de façon à ce que lorsque vous voudrez répondre à l'utilisateur, ce soit son email qui soit affiché. Et finalement, nous allons envoyer l'email grâce à la fonction mail. Vous ne devez pas oublier de modifier la valeur de la variable $destinataire par votre email pour que les messages puissent vous être envoyés. Voici le code du formulaire de contact en php: Code: PHP
<?php if(isset($_POST['email']) and isset($_POST['sujet']) and isset($_POST['message'])) { $destinataire = 'votre_email@example.com'; $email = htmlentities($_POST['email']); if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',str_replace('&','&',$email))) { $sujet = 'Contact: '.stripslashes($_POST['sujet']); $message = stripslashes($_POST['message']); $headers = "From: <".$email.">\n"; $headers .= "Reply-To: ".$email."\n"; $headers .= "Content-Type: text/plain; charset=\"iso-8859-1\""; if(mail($destinataire,$sujet,$message,$headers)) { echo "<strong>Votre message a bien été envoyé.</strong>"; } else { echo "<strong style=\"color:#ff0000;\">Une erreur c'est produite lors de l'envois du message.</strong>"; } } else { echo "<strong style=\"color:#ff0000;\">L'email que vous avez entré est invalide.</strong>"; } } else { ?> <form action="" method="post"> <fieldset> <legend>Formulaire de contact</legend> <label for="email" style="display:inline-block;width:100px;"><strong>Votre Email:</strong></label> <input type="text" name="email" id="email" /><br /> <label for="sujet" style="display:inline-block;width:100px;"><strong>Sujet:</strong></label> <input type="text" name="sujet" id="sujet" /><br /> <label for="message"><strong>Message:</strong></label><br /> <textarea cols="70" rows="4" name="message" id="message"></textarea><br /> <input type="submit" value="Envoyer" /> </fieldset> </form> <?php } ?> J'espère que vous avez aimé ce tutoriel et qu'il vous sera utile. Merci. Scripts et tutoriaux similaires à celui ci:
CommentairesAjouter un commentaireLes commentairesEnvoyé par Ad00500 le 25/01/2010 à 21:02:18
Il y a beaucoup d'erreur dans ce formulaire de contact, il fonctionne mais quand on veut le modifier juste pour une lettre, rien ne va plus.
Envoyé par Anri le 30/01/2010 à 10:35:46
Bonjour j'aimerai inserer un formulaire de contact avec e-meil: anri.r@hotmail.fr pourrais je avoir le code
Envoyé par ybouane le 15/02/2010 à 23:57:56
Bonjour,
@Ad00500: Peut-tu préciser car je ne vois pas de quoi tu parle. @Anri: Modifie la variable $destinataire(3eme ligne), ça deviendra $destinataire = 'anri.r@hotmail.fr'; Cordialement :) Envoyé par baha2din le 19/02/2010 à 18:48:32
merci bcp ca ma aidé thaks a lot :)
Envoyé par Mica59100.zikle.fr le 24/02/2010 à 21:23:05
Salut' l'equipe ) Je vient vous dire que Bof . marche pas , j'ai mis mon addresse ( j'ai supr. Ca : 'votre_email@example.com' pour mettre mon addresse ( j'ai remis les ' Avant et aprés
merci de m'aidez ! ;) ( ps : ya ca ki s'affiche quand je veux Voir a quoi sa ressemble merci de me dire ce que sa ferais , ( tous refr en mettant : ) Mica59100@voila.fr En attente d'un reponse rapide. Michael.S Envoyé par Hooligan le 17/04/2010 à 03:29:36
Pas mal mais je suis hebergeur de tchat et site web faut mieu faire je pense
sinon sava ;) Envoyé par ahaona le 28/04/2010 à 11:19:59
Bjr
j'ai essayé d'ajouter des champs supplémentaires à ce script et je reçois le message d'erreur Une erreur s'est produite lors de l'envoi du message. J'ai essayé plusieurs fois mais je ne vois pas où est l'erreur si quelqu'un peut m'aider merci et mes lignes de code, merci d'avance TINO <?php if(isset($_POST['email']) and isset($_POST['sujet']) and isset($_POST['message'])) { $destinataire = 'ahaona.moise@gmail.com'; $email = htmlentities($_POST['email']); $Nom = htmlentities($_POST['Nom']); $Prenom = htmlentities($_POST['Prenom']); $Ville = htmlentities($_POST['Ville']); $Tel = htmlentities($_POST['Tel']); if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',str_replace ('&','&',$email))) { $sujet = 'Contact: '.stripslashes($_POST['sujet']); $Nom = stripslashes($_POST['Nom']); $Prenom = stripslashes($_POST['Prenom']); $Ville = stripslashes($_POST['Ville']); $Tel = stripslashes($_POST['Tel']); $message = stripslashes($_POST['message']); $headers = "From: <".$email.">\n"; $headers .= "Reply-To: ".$email."\n"; $headers .= "Content-Type: text/plain; charset=\"iso-8859-1\""; if(mail($destinataire,$sujet,$Nom,$Prenom,$Ville,$Tel,$message,$headers)) { echo "<strong>Votre message a bien été envoyé.</strong>"; } else { echo "<strong style=\"color:#ff0000;\">Une erreur s'est produite lors de l'envoi du message.</strong>"; } } else { echo "<strong style=\"color:#ff0000;\">L'email que vous avez entré est invalide.</strong>"; } } else { ?> <form action="" method="post"> <fieldset> <legend>Formulaire de contact</legend> <label for="email" style="display:inline-block;width:100px;"><strong>Votre Email:</strong></label> <input type="text" name="email" id="email" /><br /> <label for="sujet" style="display:inline-block;width:100px;"><strong>Sujet:</strong></label> <input type="text" name="sujet" id="sujet" /><br /> <label for="Nom" style="display:inline-block;width:100px;"><strong>Nom:</strong></label> <input type="text" name="Nom" id="Nom" /><br /> <label for="Prenom" style="display:inline-block;width:100px;"><strong>Prenom:</strong></label> <input type="text" name="Prenom" id="Prenom" /><br /> <label for="Ville" style="display:inline-block;width:100px;"><strong>Ville:</strong></label> <input type="text" name="Ville" id="Ville" /><br /> <label for="Tel" style="display:inline-block;width:100px;"><strong>Tel:</strong></label> <input type="text" name="Tel" id="Tel" /><br /> <label for="message"><strong>Message:</strong></label><br /> <textarea cols="70" rows="4" name="message" id="message"></textarea><br /> <input type="submit" value="Envoyer" /> </fieldset> </form> <?php } ?> Envoyé par reaperhx le 04/06/2010 à 21:30:13
@ahaona :
tu n'a pas déclarer les variables au début <?php if(isset($_POST['email']) and isset($_POST['sujet']) and isset($_POST['message'])) { ----------------------------------------------------------------------------------------------------------------------------------------------------- remplace la 1ere ligne par celle-ci : <?php if(isset($_POST['email']) and isset($_POST['sujet']) and isset($_POST['message']) and isset($_POST['Nom']) and isset($_POST['Prenom']) and isset($_POST['Ville']) and isset($_POST['Tel']) ) { Voila sa devrai marcher, en esperant t'avoir aidé. Cordialement Reaper Helix (nova equinox) Envoyé par bruno le 10/07/2010 à 09:57:44
dans le cas ou le site est encore en local comment faire,???? pour tester ce script
Envoyé par samwebo le 02/08/2010 à 12:49:18
tres bon merci
Envoyé par Blabla le 26/09/2010 à 19:05:42
Rien à dire !
Envoyé par themoon le 19/10/2010 à 08:31:16
Salut à tous,
badord merci pour l'éffort que tu as fais pour écrire ce 'tutorial' ou je diré plutot ce code source, je ne suis la que par curiosité de ce support web, en parcourant le web je test la sécurité sur pas mal de site web, et malheureusement bcp on des failles non pas parscequ'il on mal été concu mais simplement parsequ'il utilise de code source et les copis sur le 'site web', bref je voulais simplement dire que grace à ce tutorial (ou plutot à cause de ce code source) tout ce qui l'utiliserons installerons par conséquences des nouvelles failles sur leur site web. Alors vraiment je suis déçu de la qualité et du savoir faire. Cordialement. Envoyé par bobby le 21/02/2011 à 20:12:31
l'ors de l'exécution de ce sript mon naviguateur m'aficche cette erreur
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\test message\index.php on line 13 s'il vous plait donnez moi un coup de main. merci d'avance. Envoyé par NilBlack le 04/03/2011 à 15:48:03
Bonjour
Je suis novice et j'ai bésoin d'aide jai modifié le code pour que les colonnes ne disparaissent pas apres avoir envoyé le mail mais je n y arrive pas: voici mon code Aidez moi car je plante depuis plusieurs jours <?php if(isset($_POST['email']) and isset($_POST['sujet']) and isset($_POST['message'])) { $destinataire = 'monmaili'; $email = htmlentities($_POST['email']); if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',str_replace('&','&',$email))) { $sujet = 'Contact: '.stripslashes($_POST['sujet']); $message = stripslashes($_POST['message']); $headers = "From: <".$email.">\n"; $headers .= "Reply-To: ".$email."\n"; $headers .= "Content-Type: text/plain; charset=\"iso-8859-1\""; if(mail($destinataire,$sujet,$message,$headers)) { echo "<strong>Votre message a bien été envoyé.</strong>"; <form method="post" name="contact" action="#"> <input type="hidden" name="post" value="Send" /> <label for="nom">Nom:</label> <input type="text" id="nom" name="nom" class="required input_field" /> <div class="cleaner_h10"></div> <label for="email">Email:</label> <input type="text" id="email" name="email" class="validate-email required input_field" /> <div class="cleaner_h10"></div> <label for="sujet">Sujet:</label> <input type="text" name="sujet" id="sujet" class="input_field" /> <div class="cleaner_h10"></div> <label for="text">Message:</label> <textarea id="message" name="message" rows="0" cols="0" class="required"></textarea> <div class="cleaner_h10"></div> <input type="submit" class="submit_btn" name="submit" id="submit" value="Envoyer" /> <input type="reset" class="submit_btn" name="reset" id="reset" value="Initialiser" /> </form> } else { echo "<strong style=\"color:#ff0000;\">Une erreur c'est produite lors de l'envois du message.</strong>"; } } else { echo "<strong style=\"color:#ff0000;\">L'email que vous avez entré est invalide.</strong>"; } } else { ?> <?php } ?> Envoyé par clemoun44 le 06/03/2011 à 19:21:14
Trop bien !!!!!!!! Et ça marche chez Free !!!
Envoyé par mymy le 22/03/2011 à 20:33:13
gnvobghfoizfboz"ifbhzeu
Envoyé par fenix80 le 31/03/2011 à 18:03:37
j'ai un probleme il me demande le serveur smtp mais je sais pas ou il me faut le mettre
Envoyé par dan le 05/05/2011 à 18:11:04
salut ,
j'ai bien fait le copier/coller du code en php,avec notepade++ j'ai change le mail de la 3eme ligne pas le mail perso puis j'ai enregistrer en php pour voir ce que ça donner et ça ne fonctionne pas pourquoi ? je précise que je l'est ouvert avec chrome,et Firefox ,,sur notepade ++aucun ne marche :( autre chose ,si je veut l'adapter a un formulaire en html ,est-ce possible ,si oui comment ? Envoyé par fabibo le 26/07/2011 à 18:40:23
Bonjour
enfin un formulaire qui marche !!! GENIAL ;-) mais existe -t-il un anti-spam pour ce formulaire ? Cordialement Envoyé par Daniel Machine
le 19/08/2011 à 11:49:15
I learned a lot from this post, great help for me, thank you!
Envoyé par fof le 28/08/2011 à 14:45:57
je ecourage à qidé les gent moi fof je ne t'oublierais jamais ds ma vie merci
Envoyé par Edward
le 03/09/2011 à 19:15:20
Very nice, i suggest webmaster can set up a forum, so that we can talk and communicate.
Envoyé par Nancy le 01/10/2011 à 08:13:23
Thanks for the share!
Nancy.R Envoyé par comba le 24/10/2011 à 18:13:33
Bonsoir,
Bien voilà j'ai un poil modifié pour tester voici mon code : <?php if(isset($_POST['email']) and isset($_POST['sujet']) and isset($_POST['message']) and isset($_POST['name']) ) { $destinataire = 'votre_email@example.com'; $email = htmlentities($_POST['email']); if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',str_replace('&','&',$email))) { $name = stripslashes($_POST['name']); $sujet = 'Contact: '.stripslashes($_POST['sujet']); $message = stripslashes($_POST['message']); $headers = "From: <".$email.">\n"; $headers .= "Reply-To: ".$email."\n"; $headers .= "Content-Type: text/plain; charset=\"iso-8859-1\""; if(mail($destinataire,$sujet,$name,$message,$headers)) { echo "<strong>Votre message a bien été envoyé.</strong>"; } else { echo "<strong style=\"color:#ff0000;\">Une erreur c'est produite lors de l'envois du message.</strong>"; } } else { echo "<strong style=\"color:#ff0000;\">L'email que vous avez entré est invalide.</strong>"; } } else { ?> <form action="" method="post"> <fieldset> <legend>Formulaire de contact</legend> <label for="name" style="display:inline-block;width:100px;" ><strong>Votre nom : </strong></label><input type="text" name="name" id="name" /> <br /> <label for="email" style="display:inline-block;width:100px;"><strong>Votre Email:</strong></label> <input type="text" name="email" id="email" /><br /> <label for="sujet" style="display:inline-block;width:100px;"><strong>Sujet:</strong></label> <input type="text" name="sujet" id="sujet" /><br /> <label for="message"><strong>Message:</strong></label><br /> <textarea cols="70" rows="4" name="message" id="message"></textarea><br /> <input type="submit" value="Envoyer" /> </fieldset> </form> <?php } ?> Et cela me met qu'il y une erreur, je ne la vois absolument pas, pourriez-vous m'aider ?? Merci bien. Envoyé par hmida99 le 03/11/2011 à 21:17:16
Bonjour
Je veux savoir comment ajouter des commentaires à ma page web écrite en HTML et mérci Envoyé par test le 07/12/2011 à 22:12:59
test
Envoyé par wdmifxyi le 24/01/2012 à 12:30:20
20
Envoyé par vintage le 03/02/2012 à 04:28:07
J'aimerais savoir comment faire pour recevoir le message quand le navigateur envoie son message avec des "éèàê... et tous les autres" car je recoie des"ééédédf;df;dfdéééé" dans le texte. Pourquoi?
Merci. |