Programmer le formulaire de contact d'un template HTML
Résolu/Fermé
franck3007
Messages postés
11
Date d'inscription
samedi 21 décembre 2013
Statut
Membre
Dernière intervention
29 janvier 2014
-
21 déc. 2013 à 15:39
GrifOli Messages postés 2111 Date d'inscription samedi 28 juin 2008 Statut Membre Dernière intervention 26 mars 2020 - 22 déc. 2013 à 23:55
GrifOli Messages postés 2111 Date d'inscription samedi 28 juin 2008 Statut Membre Dernière intervention 26 mars 2020 - 22 déc. 2013 à 23:55
A voir également:
- Programmer le formulaire de contact d'un template HTML
- Formulaire de réclamation facebook - Guide
- Programmer un sms - Guide
- Programmer un mail gmail - Guide
- Editeur html - Télécharger - HTML
- Créer un groupe whatsapp sans contact - Guide
6 réponses
Utilisateur anonyme
21 déc. 2013 à 16:44
21 déc. 2013 à 16:44
Il te faut déjà changer ce code ci :
Ensuite concernant l'envois, il te faut tout d'abord te renseigner sur le PHP (pour ici la fonction POST pour savoir l'utiliser ainsi que la fonction qui envoit des mails en PHP.
Je pourrais te donner un code tout fait mais je ne vois pas l'interêt ^^
Après si tu veux tout faire sur la même page, tu peux changer le action="".
Regarde ici : https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913099-transmettez-des-donnees-avec-les-formulaires
Et ici : http://fr.openclassrooms.com/informatique/cours/e-mail-envoyer-un-e-mail-en-php
Voilà ;)
<div class="input-container active">
<div class="wrapper">
<h3 class="title">Contactez nous!</h3>
<form method="POST" action="envoi.php">
<input type="text" name="nom" placeholder="Nom">
<input type="text" name="mail" placeholder="E-mail">
<input type="text" name="tel" placeholder="Téléphone">
<textarea name="message" placeholder="Message"></textarea>
<button name="send">ENVOYER</button>
</form>
</div>
</div>
Ensuite concernant l'envois, il te faut tout d'abord te renseigner sur le PHP (pour ici la fonction POST pour savoir l'utiliser ainsi que la fonction qui envoit des mails en PHP.
Je pourrais te donner un code tout fait mais je ne vois pas l'interêt ^^
Après si tu veux tout faire sur la même page, tu peux changer le action="".
Regarde ici : https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913099-transmettez-des-donnees-avec-les-formulaires
Et ici : http://fr.openclassrooms.com/informatique/cours/e-mail-envoyer-un-e-mail-en-php
Voilà ;)
franck3007
Messages postés
11
Date d'inscription
samedi 21 décembre 2013
Statut
Membre
Dernière intervention
29 janvier 2014
21 déc. 2013 à 20:25
21 déc. 2013 à 20:25
Merci beaucoup pour tes explications,
Je ne pense pas être loin.
Je reçois le mail mais tout est vide. J'ai essayé de changer pleins de valeurs mais sans réussite.
Voila le code de mon fichier envoi.php.
Qu'est-ce qui ne va pas ?
Je n'ai ni l'expéditeur, ni l'objet du mail mais par contre un mail avec :
de:
tel:
mail:
message:
sans rien d'autre.
Merci beaucoup,
Je ne pense pas être loin.
Je reçois le mail mais tout est vide. J'ai essayé de changer pleins de valeurs mais sans réussite.
Voila le code de mon fichier envoi.php.
Qu'est-ce qui ne va pas ?
Je n'ai ni l'expéditeur, ni l'objet du mail mais par contre un mail avec :
de:
tel:
mail:
message:
sans rien d'autre.
<?php
$mail = 'franck@gmail.com'; // Déclaration de l'adresse de destination.
if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui rencontrent des bogues.
{
$passage_ligne = "\r\n";
}
else
{
$passage_ligne = "\n";
}
//=====Déclaration des messages au format texte et au format HTML.
$message_txt = "de : $_post_nom<p>tel : $_post_tel<p>mail : $_post_mail<p>message : $_post_message";
$message_html = "<html><head></head><body>de : $_post_nom<p>tel : $_post_tel<p>mail : $_post_mail<p>message : $_post_message</body></html>";
//==========
//=====Création de la boundary
$boundary = "-----=".md5(rand());
//==========
//=====Définition du sujet.
$sujet = "Formulaire de contact";
//=========
//=====Création du header de l'e-mail.
$header = "From: $_post_nom <$_post_mail>".$passage_ligne;
$header.= "Reply-to: $_post_nom <$_post_mail>".$passage_ligne;
$header.= "MIME-Version: 1.0".$passage_ligne;
$header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
//==========
//=====Création du message.
$message = $passage_ligne."--".$boundary.$passage_ligne;
//=====Ajout du message au format texte.
$message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_txt.$passage_ligne;
//==========
$message.= $passage_ligne."--".$boundary.$passage_ligne;
//=====Ajout du message au format HTML
$message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_html.$passage_ligne;
//==========
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
//==========
//=====Envoi de l'e-mail.
mail($mail,$sujet,$message,$header);
//==========
?>
Merci beaucoup,
Utilisateur anonyme
Modifié le 6 févr. 2024 à 14:17
Modifié le 6 févr. 2024 à 14:17
Moi j'utilise ce code :
$entete = "MIME-Version: 1.0\r\n";
$entete .= "Content-type: text/html; charset=iso-8859-1\r\n";
$entete .= "From: <$emailadmin>\r\n";
$entete .= "Reply-To: $emailadmin\r\n";
mail(destinataire@qqchose.fr,'Titre du message' , message, $entete);
franck3007
Messages postés
11
Date d'inscription
samedi 21 décembre 2013
Statut
Membre
Dernière intervention
29 janvier 2014
21 déc. 2013 à 21:24
21 déc. 2013 à 21:24
Ça ne marche pas.
Je viens de le mettre dans mon fichier php en modifiant
$emailadmin --> $mail
destinataire@qqchose.fr --> mon mail
Titre du message --> formulaire de contact
message --> $message
$entete --> $header
mais rien ne se passe et je n'ai même pas de mail
J'ai pourtant fais cette page php avec le cours openclassroom que tu m'a envoyé.
Je viens de le mettre dans mon fichier php en modifiant
$emailadmin --> $mail
destinataire@qqchose.fr --> mon mail
Titre du message --> formulaire de contact
message --> $message
$entete --> $header
mais rien ne se passe et je n'ai même pas de mail
J'ai pourtant fais cette page php avec le cours openclassroom que tu m'a envoyé.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
GrifOli
Messages postés
2111
Date d'inscription
samedi 28 juin 2008
Statut
Membre
Dernière intervention
26 mars 2020
591
Modifié par GrifOli le 21/12/2013 à 21:32
Modifié par GrifOli le 21/12/2013 à 21:32
Bonjour,
Tes variables qui récupèrent le contenu du formulaire sont mal définies dans le fichier php.
Tu dois avoir $_POST['nom'] et non pas $_post_nom
->même chose pour $_POST['tel'], $_POST['mail'] et $_POST['message'].
Tes variables qui récupèrent le contenu du formulaire sont mal définies dans le fichier php.
Tu dois avoir $_POST['nom'] et non pas $_post_nom
->même chose pour $_POST['tel'], $_POST['mail'] et $_POST['message'].
franck3007
Messages postés
11
Date d'inscription
samedi 21 décembre 2013
Statut
Membre
Dernière intervention
29 janvier 2014
21 déc. 2013 à 23:08
21 déc. 2013 à 23:08
Bonsoir,
Je viens de changer toutes mes variable comme tu me l'a dit plus haut mais :
Si j'utilise les [ ], il y a pleins d'erreur qui apparaissent sur dreamweaver et lorsque j'essaye, j'ai : message d'erreur + pas de mail
Si j'utilise les ( ), il n'y a plus d'erreur sur dreamwerver et lorsque j'essaye, jai :
Pas de message d'erreur + mail mais le mail est :
Ça correspond a quoi ces Array('xxx') ??
J'ai essayé de chercher sur internet et ils parlent de tableaux et de correspondance avec plusieurs occurrences.
Je viens de changer toutes mes variable comme tu me l'a dit plus haut mais :
Si j'utilise les [ ], il y a pleins d'erreur qui apparaissent sur dreamweaver et lorsque j'essaye, j'ai : message d'erreur + pas de mail
Si j'utilise les ( ), il n'y a plus d'erreur sur dreamwerver et lorsque j'essaye, jai :
Pas de message d'erreur + mail mais le mail est :
de : Array('nom')
tel : Array('tel')
mail :
message :
Ça correspond a quoi ces Array('xxx') ??
J'ai essayé de chercher sur internet et ils parlent de tableaux et de correspondance avec plusieurs occurrences.
GrifOli
Messages postés
2111
Date d'inscription
samedi 28 juin 2008
Statut
Membre
Dernière intervention
26 mars 2020
591
Modifié par GrifOli le 22/12/2013 à 03:27
Modifié par GrifOli le 22/12/2013 à 03:27
Je n'ai jamais utilisé Dreamwaver, je ne sais pas quel genre de message d'erreur ça te donne, mais c'est le façon de récupérer des données issues d'un formulaire de type "post". Tu peux éditer des fichiers .php avec Notepad++
Essaye cela et dis-moi si ça fonctionne.
Essaye cela et dis-moi si ça fonctionne.
franck3007
Messages postés
11
Date d'inscription
samedi 21 décembre 2013
Statut
Membre
Dernière intervention
29 janvier 2014
22 déc. 2013 à 14:16
22 déc. 2013 à 14:16
J'ai refait tout mon fichier php avec notepad++ mais c'est exactement la même chose.
Je ne sais pas du tout comment procéder pour recevoir le mail de ce formulaire quand les utilisateurs clic sur "ENVOYER".
Pour rappel, voila le code HTML de mon formulaire :
Il y a t'il une erreur dans ce code ?
Ensuite, j'ai créer un fichier php : envoi.php mais ce sont les commandes que je dois écrire dans ce fichier que je n'arrive pas a correctement écrire.
Merci
Je ne sais pas du tout comment procéder pour recevoir le mail de ce formulaire quand les utilisateurs clic sur "ENVOYER".
Pour rappel, voila le code HTML de mon formulaire :
<div class="input-container active">
<div class="wrapper">
<h3 class="title">Contactez nous!</h3>
<form method="POST" action="envoi.php">
<input type="text" name='nom' placeholder="Nom">
<input type="text" name='mail' placeholder="E-mail">
<input type="text" name='tel' placeholder="Téléphone">
<textarea name='message' placeholder="Message"></textarea>
<button name="send">ENVOYER</button>
</form>
</div>
</div>
Il y a t'il une erreur dans ce code ?
Ensuite, j'ai créer un fichier php : envoi.php mais ce sont les commandes que je dois écrire dans ce fichier que je n'arrive pas a correctement écrire.
Merci
franck3007
Messages postés
11
Date d'inscription
samedi 21 décembre 2013
Statut
Membre
Dernière intervention
29 janvier 2014
22 déc. 2013 à 20:08
22 déc. 2013 à 20:08
Quelqu'un aurait-il une idée pour m'aider avec ce formulaire de contact ?
Vraiment je suis coincé.
Merci beaucoup
Vraiment je suis coincé.
Merci beaucoup
GrifOli
Messages postés
2111
Date d'inscription
samedi 28 juin 2008
Statut
Membre
Dernière intervention
26 mars 2020
591
22 déc. 2013 à 22:10
22 déc. 2013 à 22:10
Je regarde ça de mon côté en testant ton code html et php et je te reviens.
GrifOli
Messages postés
2111
Date d'inscription
samedi 28 juin 2008
Statut
Membre
Dernière intervention
26 mars 2020
591
22 déc. 2013 à 22:28
22 déc. 2013 à 22:28
Bon, j'ai corrigé ton code. L'erreur venait du fait que tu n'avais pas mis tes variables $_POST[''] entre { } alors qu'elles étaient sur une ligne de texte. C'est pour cela que son contenu n'était pas récupéré. J'ai corrigé les erreurs, j'ai mis ton code sur un serveur et l'envoi du courriel a fonctionné (j'avais changé ton adresse courriel pour la mienne).
Voici donc ton code corrigé (seulement le fichier .php, ton html est correct).
Voici donc ton code corrigé (seulement le fichier .php, ton html est correct).
<?php
$mail = 'franck@gmail.com'; // Déclaration de l'adresse de destination.
if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui rencontrent des bogues.
{
$passage_ligne = "\r\n";
}
else
{
$passage_ligne = "\n";
}
//=====Déclaration des messages au format texte et au format HTML.
$message_txt = "de : {$_POST['nom']}<br/>tel : {$_POST['tel']}<br/>mail : {$_POST['mail']}<br/>message : {$_POST['message']}";
$message_html = "<html><head></head><body>de : {$_POST['nom']}<p>tel : {$_POST['tel']}</p><p>mail : {$_POST['mail']}</p><p>message : {$_POST['message']}</p></body></html>";
//==========
//=====Création de la boundary
$boundary = "-----=".md5(rand());
//==========
//=====Définition du sujet.
$sujet = "Formulaire de contact";
//=========
//=====Création du header de l'e-mail.
$header = "From: {$_POST['nom']} <{$_POST['mail']}>".$passage_ligne;
$header.= "Reply-to: {$_POST['nom']} <{$_POST['mail']}>".$passage_ligne;
$header.= "MIME-Version: 1.0".$passage_ligne;
$header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
//==========
//=====Création du message.
$message = $passage_ligne."--".$boundary.$passage_ligne;
//=====Ajout du message au format texte.
$message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_txt.$passage_ligne;
//==========
$message.= $passage_ligne."--".$boundary.$passage_ligne;
//=====Ajout du message au format HTML
$message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_html.$passage_ligne;
//==========
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
//==========
//=====Envoi de l'e-mail.
mail($mail,$sujet,$message,$header);
//==========
?>
franck3007
Messages postés
11
Date d'inscription
samedi 21 décembre 2013
Statut
Membre
Dernière intervention
29 janvier 2014
22 déc. 2013 à 23:44
22 déc. 2013 à 23:44
MERCI BEAUCOUP GrifOli !
Ca marche nikel.
Super.
Ca marche nikel.
Super.
GrifOli
Messages postés
2111
Date d'inscription
samedi 28 juin 2008
Statut
Membre
Dernière intervention
26 mars 2020
591
22 déc. 2013 à 23:55
22 déc. 2013 à 23:55
Ça m'a fait plaisir! Mets le sujet en résolu :)