Envoyer un mail avec un formulaire
Debutant en webmastering
Messages postés
444
Statut
Membre
-
Debutant en webmastering Messages postés 444 Statut Membre -
Debutant en webmastering Messages postés 444 Statut Membre -
Bonjour,
ne connaissant pas cette capacité du php qui est d'envoyer un mail via un formulaire, j'ai suivi un tutoriel :
http://creer-un-site.fr
malheureusement, mon envoi ne se réalise pas :(
si vous aviez 5 petites minutes pour me dire ce qui cloche, je vous en serais vraiment reconnaissant
voici mon Formulaire :
<form action="NousContacter.php" method="POST" >
<tr><td>Nom :</td></tr>
<tr><td><input type="text" name="nom_contact"></td></tr>
<tr></tr>
<tr><td>Prénom :</td></tr>
<tr><td><input type="text" name="prenom_contact"></td></tr>
<tr></tr>
<tr><td>Mail :</td></tr>
<tr><td><input type="text" name="mail_contact"></td></tr>
<tr><td>Tel : </td></tr>
<tr><td><input type="text" name="tel_contact"></td></tr>
<tr><td>Est-ce pour un devis ?<input type="radio" name="devis_contact">Oui <input type="radio" name="devis_contact">Non </td></tr>
<tr></tr>
<tr><td>Demande de renseignement</td></tr>
<tr><td><textarea name="message_contact" rows="8" cols="50"></textarea></td></tr>
<tr></tr>
<tr><td><input type="submit" name="Envoyer" value="Envoyer"></td>
<td><input type="reset" name="Effacer" value="Effacer"></td></tr>
<tr></tr>
</form>
et mon code PHP :
<?php
if(isset($_POST["Envoyer"]))
{ $nom_contact = stripslashes($_POST["nom_contact"]);
$prenom_contact = stripslashes($_POST["prenom_contact"]);
$mail_contact = stripslashes($_POST["mail_contact"]);
$tel_contact = stripslashes($_POST["tel_contact"]);
$devis_contact = stripslashes($_POST["devis_contact"]);
$message_contact = stripslashes($_POST["message_contact"]);
$mon_e_mail = xxx@xxx.fr //e_mail de test
$mon_url = "http://url_de_mon_site.fr"; //non défini car pas encore en ligne
if(empty($nom_contact)){
echo 'Vous avez oublié votre nom. <br/>';
}
elseif(empty($prenom_contact)){
echo 'Vous avez oublié votre prénom.<br/>';
}
elseif(empty($mail_contact)){
echo 'Vous avez oublié de préciser votre adresse mail.<br/>';
}
elseif(empty($tel_contact)){
echo 'Veuillez noter votre numéro de téléphone.<br/>';
if(!preg_match(''[0-9]{10}'',$tel_contact));echo "Ce numéro de téléphone n'est pas valide.<br/>";}
elseif(empty($devis_contact)){
echo 'Veuillez préciser la raison de votre contact.<br/>';
}
else if(empty($message_contact)){
echo 'Veuillez écrire votre message.<br/>';
}
else{
// Envoie du mail
$entete = "From: " . $mail_contact . " <" . $mon_e_mail . ">\n";
$entete= "MIME-Version: 1.0";
<" . $nom_contact . ">/n";"
<" . $prenom_contact . ">/n";"
<" . $tel_contact . ">/n";
$message = . $message_contact .
if (mail($mail_contact,$mon_e_mail,$nom_contact,$prenom_contact,$tel_contact,$message_contact)){
echo "Votre message a été envoyé.<br />\n";
echo "<a href=\"" . $mon_url . "\">Retour</a>\n";
}
else {
echo "Un problème s'est produit lors de l'envoi du message.\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Réessayez</a>\n";
}
//on ferme le else
}
//on ferme if(isset($_POST["Envoyer"]))
}
?>
ne connaissant pas cette capacité du php qui est d'envoyer un mail via un formulaire, j'ai suivi un tutoriel :
http://creer-un-site.fr
malheureusement, mon envoi ne se réalise pas :(
si vous aviez 5 petites minutes pour me dire ce qui cloche, je vous en serais vraiment reconnaissant
voici mon Formulaire :
<form action="NousContacter.php" method="POST" >
<tr><td>Nom :</td></tr>
<tr><td><input type="text" name="nom_contact"></td></tr>
<tr></tr>
<tr><td>Prénom :</td></tr>
<tr><td><input type="text" name="prenom_contact"></td></tr>
<tr></tr>
<tr><td>Mail :</td></tr>
<tr><td><input type="text" name="mail_contact"></td></tr>
<tr><td>Tel : </td></tr>
<tr><td><input type="text" name="tel_contact"></td></tr>
<tr><td>Est-ce pour un devis ?<input type="radio" name="devis_contact">Oui <input type="radio" name="devis_contact">Non </td></tr>
<tr></tr>
<tr><td>Demande de renseignement</td></tr>
<tr><td><textarea name="message_contact" rows="8" cols="50"></textarea></td></tr>
<tr></tr>
<tr><td><input type="submit" name="Envoyer" value="Envoyer"></td>
<td><input type="reset" name="Effacer" value="Effacer"></td></tr>
<tr></tr>
</form>
et mon code PHP :
<?php
if(isset($_POST["Envoyer"]))
{ $nom_contact = stripslashes($_POST["nom_contact"]);
$prenom_contact = stripslashes($_POST["prenom_contact"]);
$mail_contact = stripslashes($_POST["mail_contact"]);
$tel_contact = stripslashes($_POST["tel_contact"]);
$devis_contact = stripslashes($_POST["devis_contact"]);
$message_contact = stripslashes($_POST["message_contact"]);
$mon_e_mail = xxx@xxx.fr //e_mail de test
$mon_url = "http://url_de_mon_site.fr"; //non défini car pas encore en ligne
if(empty($nom_contact)){
echo 'Vous avez oublié votre nom. <br/>';
}
elseif(empty($prenom_contact)){
echo 'Vous avez oublié votre prénom.<br/>';
}
elseif(empty($mail_contact)){
echo 'Vous avez oublié de préciser votre adresse mail.<br/>';
}
elseif(empty($tel_contact)){
echo 'Veuillez noter votre numéro de téléphone.<br/>';
if(!preg_match(''[0-9]{10}'',$tel_contact));echo "Ce numéro de téléphone n'est pas valide.<br/>";}
elseif(empty($devis_contact)){
echo 'Veuillez préciser la raison de votre contact.<br/>';
}
else if(empty($message_contact)){
echo 'Veuillez écrire votre message.<br/>';
}
else{
// Envoie du mail
$entete = "From: " . $mail_contact . " <" . $mon_e_mail . ">\n";
$entete= "MIME-Version: 1.0";
<" . $nom_contact . ">/n";"
<" . $prenom_contact . ">/n";"
<" . $tel_contact . ">/n";
$message = . $message_contact .
if (mail($mail_contact,$mon_e_mail,$nom_contact,$prenom_contact,$tel_contact,$message_contact)){
echo "Votre message a été envoyé.<br />\n";
echo "<a href=\"" . $mon_url . "\">Retour</a>\n";
}
else {
echo "Un problème s'est produit lors de l'envoi du message.\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Réessayez</a>\n";
}
//on ferme le else
}
//on ferme if(isset($_POST["Envoyer"]))
}
?>
A voir également:
- Envoyer un mail avec un formulaire
- Whatsapp formulaire opposition - Guide
- Gmail envoyer un mail - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Envoyer un mail avec accusé de reception gmail - Guide
- Envoyer un mail en cci - Guide
9 réponses
Bonjour,
Le code fonctionne très bien à l'origine. Dans votre code, vous avez oublié des guillemets
ou alors vous en ajoutez la ou il ne faut pas
ou vous oubliez des points virgules
vous oubliez de concaténer la variable $entete ...
Une question stupide engendre une réponse stupide!
Une question mal formulé engendre une réponse aléatoire!
Le code fonctionne très bien à l'origine. Dans votre code, vous avez oublié des guillemets
$mon_e_mail = xxx@xxx.fr
ou alors vous en ajoutez la ou il ne faut pas
<" . $nom_contact . ">/n";"
ou vous oubliez des points virgules
$message = . $message_contact .
vous oubliez de concaténer la variable $entete ...
Une question stupide engendre une réponse stupide!
Une question mal formulé engendre une réponse aléatoire!
effectivement, les guillements ont été oubliées lorsque j'ai réécrit les xxx@xxx.fr pour ne pas divulguer mon adresse et pour ce qui est du reste voici les modifications :
Cordialement, Debutant en webmastering
// Envoie du mail $entete = "From: " . $mail_contact . < . $mon_e_mail . >\n; . $entete . = "MIME-Version: 1.0"; < . $nom_contact . >/n; < . $prenom_contact . >/n; < . $tel_contact . >/n; $message = . $message_contact .;
Cordialement, Debutant en webmastering
Dans l'entête, c'est l'mail du correspondant par le votre.
Ensuite, $message est faux.
Dailleurs cette variable ne sert à rien puisque vous pouvez l'envoyer directement dans la fonction mail() en utilisant directement la variable $message_contact.
Pour finir, au lieu de tenter d'insérer certaines données dans l'entête, insérer les plutôt dans le message :
Puis dans l'envoie du mail
Une question stupide engendre une réponse stupide!
Une question mal formulé engendre une réponse aléatoire!
$entete = "From: " . $mon_pseudo . " <" . $son_email . ">\n"; $entete .= "MIME-Version: 1.0";
Ensuite, $message est faux.
$message = $message_contact ;
Dailleurs cette variable ne sert à rien puisque vous pouvez l'envoyer directement dans la fonction mail() en utilisant directement la variable $message_contact.
Pour finir, au lieu de tenter d'insérer certaines données dans l'entête, insérer les plutôt dans le message :
$message .= " ".$message_contact."\n" ; $message .= "Nom : ".$nom_contact."\n"; $message .= "Nom : ".$prenom_contact."\n"; //etc
Puis dans l'envoie du mail
if (@mail($mon_email,$objet,$message,$entete))
Une question stupide engendre une réponse stupide!
Une question mal formulé engendre une réponse aléatoire!
Ah, c'est vrai que je n'ais pas exposé mes intentions quant à ce formulaire.
En fait j'ai créé un petit site pour une entreprise et ce formulaire aura pour but de les contacter donc
$entete = "From: " . $mail_contact . me semble justifié car la personne donne son mail pour que l'on puisse la recontacter mais le problème (et c'est justement ce que je n'ais pas compris dans le tutoriel c'est à quelle adresse on envoie le tout; je pensais que $entete = "From: " . $mail_contact . < . $mon_e_mail . >\n; renseignait 1èrement le mail de la personne qui écrivait ($mail_contact) et ensuite le destinataire (. $son_email .)
En fait j'ai créé un petit site pour une entreprise et ce formulaire aura pour but de les contacter donc
$entete = "From: " . $mail_contact . me semble justifié car la personne donne son mail pour que l'on puisse la recontacter mais le problème (et c'est justement ce que je n'ais pas compris dans le tutoriel c'est à quelle adresse on envoie le tout; je pensais que $entete = "From: " . $mail_contact . < . $mon_e_mail . >\n; renseignait 1èrement le mail de la personne qui écrivait ($mail_contact) et ensuite le destinataire (. $son_email .)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question$entete = "From: " . $mon_pseudo . " <" . $son_email . ">\n";
$mon_pseudo = pseudo de l'envoyeur.
$son_email = email de la personne qui envoie.
Dans l'envoie :
if (@mail($mon_email,$lechamp1,$lechamp2,$entete))
Il faut remplacer $mon_email par $son_email.
Le code ci-dessus correspond à :
if (@mail(mail du destinataire,objet du message,message, entête))
Une question stupide engendre une réponse stupide!
Une question mal formulé engendre une réponse aléatoire!
non justement, c'est là que je n'ais pas dû être assez clair, en 1er lieu, j'ai
$mon_e_mail (qui sera celle de l'entreprise) et c'est justement à cette adresse que je souhaite envoyer (le formulaire sert à envoyer la demande du client à l'entreprise qui elle renverra les informations par simple boîte mail)
désolé de ne pas avoir été clair dès le début :( et j'espère que ça l'est plus maintenant
$mon_e_mail (qui sera celle de l'entreprise) et c'est justement à cette adresse que je souhaite envoyer (le formulaire sert à envoyer la demande du client à l'entreprise qui elle renverra les informations par simple boîte mail)
désolé de ne pas avoir été clair dès le début :( et j'espère que ça l'est plus maintenant
Donc $mon_e_mail vient en premier dans la fonction mail
if (@mail($mon_e_mail,objet du message,message, entête))
if (@mail($mon_e_mail,objet du message,message, entête))