Formulaire PHP, problème d'envoi
dan42
-
Alain_42 Messages postés 5413 Statut Membre -
Alain_42 Messages postés 5413 Statut Membre -
Bonjour,
Lorsque l'on clique sur le bouton envoi de mon formulaire, rien ne se passe. Je ne recoi rien sur mon Email.
Merci de votre aide.
Voici le Code dans la Page Html :
<div class="contact-form-holder">
<form id="contact-form">
<div class="form-input-half-left form-input-border">
<div class="form-input-background opacity_2"></div>
<input id="name" type="text" name="name" value="name *"/>
</div>
<div class="form-input-half-right form-input-border">
<div class="form-input-background opacity_2"></div>
<input id="email" type="text" name="email" value="email *"/>
</div>
<div class="form-input-large form-input-border">
<div class="form-input-background opacity_2"></div>
<input id="phone" type="text" name="phone" value="phone *"/>
</div>
<div class="form-input-textarea form-input-border">
<div class="form-input-background opacity_2"></div>
<textarea id="message" name="message">message *</textarea>
</div>
<div id="response-form">
<p>Message envoyé! Merci!</p>
<span id="form-warning">Champ Obligatoire (*)</span>
<span id="server-error"></span>
</div>
<div class="form-buttons">
<div id="form-reset">
<p>SUPPR</p>
</div>
<div id="form-send" data-sending-txt="ENVOI...">
<p>ENVOI</p>
Et le code du fichier PHP :
<?php
$senderName = $_POST['senderName'];
$senderEmail = $_POST['senderEmail'];
$senderPhone = $_POST['senderPhone'];
$senderMessage = mysql_escape_string($_POST['senderMessage']);
$siteName = "mon site";
$to = "mon mail";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: " . $siteName ." \n";
$headers .= "Reply-To: " . $senderEmail . "\n\n";
$toSubject = "Message from $senderName via $siteName";
$emailBody = "<strong>From</strong>: $senderName <br />
<strong>Email</strong>: $senderEmail <br />
<strong>Phone</strong>: $senderPhone <br /> <br />
<strong>Message</strong>: <br /><br />
". nl2br($senderMessage);
$message = $emailBody;
$okMsg = "";
if( $to != "mon mail" )
{
$ok = mail($to, $toSubject, $message, $headers);
}
else{
$ok = false;
$okMsg = "Please change the '" . $to . "' to your own email address!";
}
if($ok){
$okMsg = "";
}
else{
if( $okMsg != "" )$okMsg = "SERVER BUSY, TRY AGAIN LATER! THANK YOU!";
}
$result = array(
'result' => $ok,
'msg' => $okMsg);
echo json_encode($result);
?>
Lorsque l'on clique sur le bouton envoi de mon formulaire, rien ne se passe. Je ne recoi rien sur mon Email.
Merci de votre aide.
Voici le Code dans la Page Html :
<div class="contact-form-holder">
<form id="contact-form">
<div class="form-input-half-left form-input-border">
<div class="form-input-background opacity_2"></div>
<input id="name" type="text" name="name" value="name *"/>
</div>
<div class="form-input-half-right form-input-border">
<div class="form-input-background opacity_2"></div>
<input id="email" type="text" name="email" value="email *"/>
</div>
<div class="form-input-large form-input-border">
<div class="form-input-background opacity_2"></div>
<input id="phone" type="text" name="phone" value="phone *"/>
</div>
<div class="form-input-textarea form-input-border">
<div class="form-input-background opacity_2"></div>
<textarea id="message" name="message">message *</textarea>
</div>
<div id="response-form">
<p>Message envoyé! Merci!</p>
<span id="form-warning">Champ Obligatoire (*)</span>
<span id="server-error"></span>
</div>
<div class="form-buttons">
<div id="form-reset">
<p>SUPPR</p>
</div>
<div id="form-send" data-sending-txt="ENVOI...">
<p>ENVOI</p>
Et le code du fichier PHP :
<?php
$senderName = $_POST['senderName'];
$senderEmail = $_POST['senderEmail'];
$senderPhone = $_POST['senderPhone'];
$senderMessage = mysql_escape_string($_POST['senderMessage']);
$siteName = "mon site";
$to = "mon mail";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: " . $siteName ." \n";
$headers .= "Reply-To: " . $senderEmail . "\n\n";
$toSubject = "Message from $senderName via $siteName";
$emailBody = "<strong>From</strong>: $senderName <br />
<strong>Email</strong>: $senderEmail <br />
<strong>Phone</strong>: $senderPhone <br /> <br />
<strong>Message</strong>: <br /><br />
". nl2br($senderMessage);
$message = $emailBody;
$okMsg = "";
if( $to != "mon mail" )
{
$ok = mail($to, $toSubject, $message, $headers);
}
else{
$ok = false;
$okMsg = "Please change the '" . $to . "' to your own email address!";
}
if($ok){
$okMsg = "";
}
else{
if( $okMsg != "" )$okMsg = "SERVER BUSY, TRY AGAIN LATER! THANK YOU!";
}
$result = array(
'result' => $ok,
'msg' => $okMsg);
echo json_encode($result);
?>
A voir également:
- Formulaire PHP, problème d'envoi
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Civilité sur un formulaire - Forum VB / VBA
- Formulaire de reclamation instagram - Guide
- Easy php - Télécharger - Divers Web & Internet
7 réponses
Re-Bonjour,
Dans le <form>, mais ou exactement je suis un peu novice, et est ce que je doit rajouter autre chose.
Merci
Dans le <form>, mais ou exactement je suis un peu novice, et est ce que je doit rajouter autre chose.
Merci
<div class="contact-form-holder">
<form id="contact-form">
dans action= tu mets le nom du script php qui doit être appelé
de plus je ne vois pas le bouton <input type="submit" pour l'envoi du formulaire
<div id="form-send" data-sending-txt="ENVOI...">
<p>ENVOI</p>
<form id="contact-form">
<div class="contact-form-holder"> <form id="contact-form" method="post" action="" >
dans action= tu mets le nom du script php qui doit être appelé
de plus je ne vois pas le bouton <input type="submit" pour l'envoi du formulaire
<div id="form-send" data-sending-txt="ENVOI...">
<p>ENVOI</p>
<div id="form-send" data-sending-txt="ENVOI..."> <p><input type="submit" name="envoi" value="ENVOI" /></p>
Merci alain_42
J'ai fait les modifs que tu m'avais dit. Mais cela ne fonctionne toujours pas il me met une erreur. "Null"
Je vois pas quoi faire.
Merci de ton aide.
J'ai fait les modifs que tu m'avais dit. Mais cela ne fonctionne toujours pas il me met une erreur. "Null"
Je vois pas quoi faire.
Merci de ton aide.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Voila les codes avec les modifs :
Merci de votre aide.
<div class="contact-form-holder">
<form id="contact-form" method="post" action="../../php/contact_synergy.php">
<div class="form-input-half-left form-input-border">
<div class="form-input-background opacity_2"></div>
<input id="name" type="text" name="name" value="name *"/>
</div>
<div class="form-input-half-right form-input-border">
<div class="form-input-background opacity_2"></div>
<input id="email" type="text" name="email" value="email *"/>
</div>
<div class="form-input-large form-input-border">
<div class="form-input-background opacity_2"></div>
<input id="phone" type="text" name="phone" value="phone *"/>
</div>
<div class="form-input-textarea form-input-border">
<div class="form-input-background opacity_2"></div>
<textarea id="message" name="message">message *</textarea>
</div>
<div id="response-form">
<p>Message envoyé! Merci!</p>
<span id="form-warning">Champ Obligatoire (*)</span>
<span id="server-error"></span>
</div>
<div class="form-buttons">
<div id="form-reset">
<p>SUPPR</p>
</div>
<div id="form-send" data-sending-txt="ENVOI...">
<p><input type="submit" name="envoi" value="ENVOI" /></p>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<?php
$senderName = $_POST['senderName'];
$senderEmail = $_POST['senderEmail'];
$senderPhone = $_POST['senderPhone'];
$senderMessage = mysql_escape_string($_POST['senderMessage']);
$siteName = "mon site";
$to = "mon mail";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: " . $siteName ." \n";
$headers .= "Reply-To: " . $senderEmail . "\n\n";
$toSubject = "Message from $senderName via $siteName";
$emailBody = "<strong>From</strong>: $senderName <br />
<strong>Email</strong>: $senderEmail <br />
<strong>Phone</strong>: $senderPhone <br /> <br />
<strong>Message</strong>: <br /><br />
". nl2br($senderMessage);
$message = $emailBody;
$okMsg = "";
if( $to != "mon mail" )
{
$ok = mail($to, $toSubject, $message, $headers);
}
else{
$ok = false;
$okMsg = "Please change the '" . $to . "' to your own email address!";
}
if($ok){
$okMsg = "";
}
else{
if( $okMsg != "" )$okMsg = "SERVER BUSY, TRY AGAIN LATER! THANK YOU!";
}
$result = array(
'result' => $ok,
'msg' => $okMsg);
echo json_encode($result);
?>
Voila les codes avec les modifs :
Merci de votre aide.
<div class="contact-form-holder">
<form id="contact-form" method="post" action="../../php/contact_synergy.php">
<div class="form-input-half-left form-input-border">
<div class="form-input-background opacity_2"></div>
<input id="name" type="text" name="name" value="name *"/>
</div>
<div class="form-input-half-right form-input-border">
<div class="form-input-background opacity_2"></div>
<input id="email" type="text" name="email" value="email *"/>
</div>
<div class="form-input-large form-input-border">
<div class="form-input-background opacity_2"></div>
<input id="phone" type="text" name="phone" value="phone *"/>
</div>
<div class="form-input-textarea form-input-border">
<div class="form-input-background opacity_2"></div>
<textarea id="message" name="message">message *</textarea>
</div>
<div id="response-form">
<p>Message envoyé! Merci!</p>
<span id="form-warning">Champ Obligatoire (*)</span>
<span id="server-error"></span>
</div>
<div class="form-buttons">
<div id="form-reset">
<p>SUPPR</p>
</div>
<div id="form-send" data-sending-txt="ENVOI...">
<p><input type="submit" name="envoi" value="ENVOI" /></p>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<?php
$senderName = $_POST['senderName'];
$senderEmail = $_POST['senderEmail'];
$senderPhone = $_POST['senderPhone'];
$senderMessage = mysql_escape_string($_POST['senderMessage']);
$siteName = "mon site";
$to = "mon mail";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: " . $siteName ." \n";
$headers .= "Reply-To: " . $senderEmail . "\n\n";
$toSubject = "Message from $senderName via $siteName";
$emailBody = "<strong>From</strong>: $senderName <br />
<strong>Email</strong>: $senderEmail <br />
<strong>Phone</strong>: $senderPhone <br /> <br />
<strong>Message</strong>: <br /><br />
". nl2br($senderMessage);
$message = $emailBody;
$okMsg = "";
if( $to != "mon mail" )
{
$ok = mail($to, $toSubject, $message, $headers);
}
else{
$ok = false;
$okMsg = "Please change the '" . $to . "' to your own email address!";
}
if($ok){
$okMsg = "";
}
else{
if( $okMsg != "" )$okMsg = "SERVER BUSY, TRY AGAIN LATER! THANK YOU!";
}
$result = array(
'result' => $ok,
'msg' => $okMsg);
echo json_encode($result);
?>
Voir commentaires
<div class="contact-form-holder">
<form id="contact-form" method="post" action="../../php/contact_synergy.php">
<div class="form-input-half-left form-input-border">
<div class="form-input-background opacity_2"></div><!-- je ne comprend pas trop l'enchainement de tes div ?? -->
<!-- onfocus="this.value='';" c'est pour effacer ce qu'il y a dans l'input qd on clique dedans -->
<input id="name" type="text" name="name" value="name *" onfocus="this.value='';" />
</div>
<div class="form-input-half-right form-input-border">
<div class="form-input-background opacity_2"></div>
<input id="email" type="text" name="email" value="email *" onfocus="this.value='';" />
</div>
<div class="form-input-large form-input-border">
<div class="form-input-background opacity_2"></div>
<input id="phone" type="text" name="phone" value="phone *" onfocus="this.value='';" />
</div>
<div class="form-input-textarea form-input-border">
<div class="form-input-background opacity_2"></div>
<textarea id="message" name="message" onfocus="this.value='';" >message *</textarea>
</div>
<div id="response-form">
<!--
la tu mets message envoyé alors que le formulaire n'a pas encore été posté !!
<p>Message envoyé! Merci!</p> -->
<span id="form-warning">Champ Obligatoire (*)</span>
<span id="server-error"></span>
</div>
<div class="form-buttons">
<div id="form-reset">
<p><input type="reset" name="anuler" value="EFFACER" /></p>
</div>
<div id="form-send" data-sending-txt="ENVOI...">
<p><input type="submit" name="envoi" value="ENVOI" /></p>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<?php
if(isset($_POST['envoi'])){
//le formulaire a été posté on recupère les valeurs des input
//ATTENTION il faut que dans $_POST['...'] tu ait le name correspondant au champ a recupérer
//toi tu vait mis senderName alors que dans ton formulaire tu as name
$senderName = htmlentities($_POST['name']);
$senderEmail = htmlentities($_POST['email']);
$senderPhone = htmlentities($_POST['phone']);
//c'est bien d'avoir pensé à sécuriser, mais tu ne peux mettre mysql_real.... que si tu as fait une connexion à une BDD
//fait avec htmlentities
//$senderMessage = mysql_escape_string($_POST['message']);
$senderMessage = htmlentities($_POST['message']);
$siteName = "mon site";
$to = "mon mail";
//le FROM doit etre une adresse mail et la tienne connue de ton serveur, c'est le serveur qui envoi le mail, pas l'utilisateur
$headers = "From: <".$siteName.">" .$to."\r\n";
$headers .= "Reply-To: ".$senderEmail."\r\n";
$headers .= "MIME-Version: 1.0"."\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1"."\r\n";
//$headers .= "From: " . $siteName ." \n";
$toSubject = "Message from $senderName via $siteName";
$emailBody = "<strong>From</strong>: $senderName <br />
<strong>Email</strong>: $senderEmail <br />
<strong>Phone</strong>: $senderPhone <br /> <br />
<strong>Message</strong>: <br /><br />
". nl2br($senderMessage);
$message = $emailBody;
$okMsg = "";
//la pour autoriser l'envoi du mail tu testes si $to n'est pas égal à ton mail, hors ligne 60 tu charges $to avec ton mail, donc cette condition ne sera JAMAIS possible
$env_mail = mail($to, $toSubject, $message, $headers);
//le script php va ouvrir une nouvelle page dans laquelle les messages résultat d'envoi du mail seront écrits
if($env_mail){
echo "Merci le mesage a bien été envoyé ";
}else{
echo "SERVER BUSY, TRY AGAIN LATER! THANK YOU!";;
}
/*
if( $to != "mon mail" )
{
$ok = mail($to, $toSubject, $message, $headers);
}
else{
$ok = false;
$okMsg = "Please change the '" . $to . "' to your own email address!";
//pourquoi ? c'est bien toi qui reçoit le mail
}
if($ok){
$okMsg = "";
}
else{
if( $okMsg != "" )$okMsg = "SERVER BUSY, TRY AGAIN LATER! THANK YOU!";
}
// ???
$result = array(
'result' => $ok,
'msg' => $okMsg);
echo json_encode($result); // ????
*/
}
?>