Envoyer un mail depuis un formulaire de contact
Résolu
Dnartreb
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour à tous,
J'ai créer un formulaire de contact en HTML et tout une partie en PHP pour envoyer un mail... J'avais réussi mais cela ne me convenait pas donc j'ai recommencé et maintenant je bloque.
Je vous mets mon code ci-dessous, si vous savez jeter un coup d’œil et me dire mes éventuelles erreurs; ça m'aiderais beaucoup!
Remarque: Je traite tout sur la même page.
Je souhaite recevoir un mail avec le nom, l'email, le message que la personne a renseigné dans le formulaire. A ce stade, quand je clique sur le bouton pour envoyer le message, j'ai cette erreur:
Parse error: syntax error, unexpected ';' in /homepages/22/d767857963/htdocs/organisation/V2tousmembres/contacter/guillaume.php on line 73
(La ligne 73, correspond à la ligne: $message1 = "L'auteur du mail est:".$_POST['name'].;)
Merci d'avance pour vos idées, vos aides, vos conseils... :)
J'ai créer un formulaire de contact en HTML et tout une partie en PHP pour envoyer un mail... J'avais réussi mais cela ne me convenait pas donc j'ai recommencé et maintenant je bloque.
Je vous mets mon code ci-dessous, si vous savez jeter un coup d’œil et me dire mes éventuelles erreurs; ça m'aiderais beaucoup!
Remarque: Je traite tout sur la même page.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Nous contacter</title> </head> <body> <br> <form method="post" action="guillaume.php"> <label for="name">Nom:</label> <input type="text" name="name" id="name" required placeholder="Nom" /> <label for="subject">Objet Du Message:</label> <input type="text" name="subject" id="subject" required placeholder="Sujet" /> <label for="email">Email:</label> <input type="email" name="email" id="email" required placeholder="***@***" /> <label for="message">Message:</label> <textarea name="message" id="message" required></textarea> <div style="margin-left: 29%;"class="boutton"> <input type="submit" value="Envoyer votre message" /> </div> </form> <?php $destinataire = 'b.guillaume***@hotmail.com'; $expediteur = $_POST['email']; $objet = $_POST['subject']; $headers .= 'To: '.$destinataire."\n"; // Mail de reponse $headers .= 'From: '.$expediteur.''."\n"; // Expediteur $message1 = "L'auteur du mail est:".$_POST['name'].; $message2 = 'Voici son mail:'.$_POST['message'].; if(mail($destinataire, $objet, $message1, $message2, $headers)) { echo '<script languag="javascript" >alert("Votre message a bien été envoyé ");</script>'; } else // Non envoyé { echo '<script languag="javascript">alert("Votre message n\'a pas pu être envoyé");</script>'; } header('Location: guillaume.php'); ?> </body> </html>
Je souhaite recevoir un mail avec le nom, l'email, le message que la personne a renseigné dans le formulaire. A ce stade, quand je clique sur le bouton pour envoyer le message, j'ai cette erreur:
Parse error: syntax error, unexpected ';' in /homepages/22/d767857963/htdocs/organisation/V2tousmembres/contacter/guillaume.php on line 73
(La ligne 73, correspond à la ligne: $message1 = "L'auteur du mail est:".$_POST['name'].;)
Merci d'avance pour vos idées, vos aides, vos conseils... :)
Configuration: Windows / Firefox 65.0
A voir également:
- Envoyer un mail depuis un formulaire de contact
- Whatsapp formulaire opposition - Guide
- Envoyer un mail à un groupe de contact gmail - Guide
- Gmail envoyer un mail - Guide
- Formulaire de réclamation facebook - Guide
- Envoyer un mail en cci - Guide
2 réponses
essaye ça
Tu noteras au passage que tu avais des points en trop à la fin des lignes
<?php $destinataire = 'b.guillaume***@hotmail.com'; $expediteur = !empty($_POST['email']) ? $_POST['email'] : NULL; $objet = !empty($_POST['subject']) ? $_POST['subject'] : '', $name = !empty($_POST['name']) ? $_POST['name'] : '', $message = !empty($_POST['message']) ? $_POST['message'] : ''; if(!empty($expediteur) && !empty($objet)){ // si l'utilisateur a saisi des infos... //----------- headers -------------// $headers = "MIME-Version: 1.0 \r\n"; $headers .= 'To: '.$destinataire."\n"; // Mail de reponse $headers .= "From: \"$expediteur\"<$expediteur>"."\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset: utf8\r\n"; //------- message --------------------// $message1 = "L'auteur du mail est: ".htmlspecialchars($name); $message2 = 'Voici son mail: '.htmlspecialchars$message); $msgHtml = "<html> <body> <div> ".$message1." </div> <div> <pre> ".$message2." </pre> </div> </body> </html>"; //- ---------- Envoie du mail --------------// if(mail($destinataire, $objet, $msgHtml, $headers)){ echo '<script languag="javascript" >alert("Votre message a bien été envoyé ");</script>'; header('Location: guillaume.php'); exit(); } else {// Non envoyé echo '<script languag="javascript">alert("Votre message n\'a pas pu être envoyé");</script>'; } } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Nous contacter</title> </head> <body> <br> <form method="post" action=""> <label for="name">Nom:</label> <input type="text" name="name" id="name" required placeholder="Nom" value="<?php echo $name;?>"/> <label for="subject">Objet Du Message:</label> <input type="text" name="subject" id="subject" required placeholder="Sujet" value="<?php echo $objet;?>"/> <label for="email">Email:</label> <input type="email" name="email" id="email" required placeholder="***@***" value="<?php echo $expediteur;?>"/> <label for="message">Message:</label> <textarea name="message" id="message" required>"<?php echo $message;?>"</textarea> <div style="margin-left: 29%;"class="boutton"> <input type="submit" value="Envoyer votre message" /> </div> </form> </body> </html>
Tu noteras au passage que tu avais des points en trop à la fin des lignes
$message1 = "L'auteur du mail est:".$_POST['name'].; $message2 = 'Voici son mail:'.$_POST['message'].;
Bonjour
Commence par ça
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Tu verras apparaître une erreur (au niveau de ta variable headers)
Commence par ça
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Tu verras apparaître une erreur (au niveau de ta variable headers)
J'ai mis le code pour les erreurs trouvés sur ton lien mais quand je tente d'envoyer un message j'ai toujours la même erreur... J'ai modifié deux autres lignes également.
Comment ça je vais avoir voir apparaitre une erreur pour la variable headers? C'est une partie que j'ai copiée sur internet...
Comment ça je vais avoir voir apparaitre une erreur pour la variable headers? C'est une partie que j'ai copiée sur internet...
error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Nous contacter</title> </head> <body> <br> <form method="post" action="guillaume.php"> <label for="name">Nom:</label> <input type="text" name="name" id="name" required placeholder="Nom" /> <label for="subject">Objet Du Message:</label> <input type="text" name="subject" id="subject" required placeholder="Sujet" /> <label for="email">Email:</label> <input type="email" name="email" id="email" required placeholder="email@exemple.com" /> <label for="message">Message:</label> <textarea name="message" id="message" required></textarea> <div style="margin-left: 29%;"class="boutton"> <input type="submit" value="Envoyer votre message" /> </div> </form> <?php $destinataire = 'b.guillaume***@hotmail.com'; $expediteur = !empty($_POST['email']) ? $_POST['email'] : NULL; $objet = !empty($_POST['sbject']) ? $_POST['subjet'] : NULL; $headers .= 'To: '.$destinataire."\n"; // Mail de reponse $headers .= 'From: '.$expediteur.''."\n"; // Expediteur $message1 = "L'auteur du mail est:".$_POST['name'].; $message2 = 'Voici son mail:'.$_POST['message'].; if(mail($destinataire, $objet, $message1, $message2, $headers)) { echo '<script languag="javascript" >alert("Votre message a bien été envoyé ");</script>'; } else // Non envoyé { echo '<script languag="javascript">alert("Votre message n\'a pas pu être envoyé");</script>'; } header('Location: guillaume.php'); ?> </body> </html>
Je n'ai plus qu'à le comprendre pour le futur! Encore merci et passe une bonne soirée :)
$msgHtml =<html> me met erreur.
Que faire