Vous êtes ici: Support du web > Scripts et tutoriaux > PHP / MYSQL > Formulaire de contact en php script

Formulaire de contact en php script

Formulaire de contact en php script Formulaire de contact en php script
Note : 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

Bonjour,
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('&amp;','&',$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 &eacute;t&eacute; envoy&eacute;.</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&eacute; 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:

Commentaires

Ajouter un commentaire





Vous n'êtes actuellement pas connecté, certaines de vos informations(tel que votre Adresse IP) seront enregistrées pour éviter du spam.
Votre message ne doit pas contenir certains mots ou une adresse internet, sinon, il ne sera pas envoyé.

Les commentaires

Envoyé 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

('&amp;','&',$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 &eacute;t&eacute; envoy&eacute;.</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&eacute; 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('&amp;','&',$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 &eacute;t&eacute; envoy&eacute;.</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&eacute; 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('&amp;','&',$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 &eacute;t&eacute; envoy&eacute;.</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&eacute; 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.


Il y a actuellent 16 personne(s) connecté(es)
Page générée en 0.004732 secondes
Retour en haut
Règlements - Nous contacter - Aider le site - RSS News
Copyright © Support du web - Toute copie partielle ou complète de nos créations est interdite sans l'accord de ses auteurs.
Toutes les marques citées appartiennent à leurs compagnies respectives.