Formulaire envoyé par mail avec DREAMWEAVER
Julien
-
free-style -
free-style -
Bonjour,
Je suis en train de refaire mon site avec Macromedia Dreamweaver 8. Je n'utilise que le fonction Design et ne maîtrise rien en ce qui concerne le code ou le php.
Mon objectif est de créer une page formulaire avec des champs et menus déroulants à compléter par les internautes. J'arrive à insérer les zones de texte, les menus déroulants et le bouton d'action (Submit).
Je souaiterai donc que lorsque les internautes cliquent sur "SUBMIT", les données complétées du formulaire me soient transférées par mail.
J'ai bien trouvé une fonction qui me permette de le faire : dans les Prpriétés de la page j'ai défini l'action "mailto:monmail@monmail.com"
Seulement, ça ouvre un message Outlook prérempli. Je veux simplement un envoi sans que ça ait à passer par la messagerie de l'internaute.
Avez vous des solutions svp.
A+
Julien
Je suis en train de refaire mon site avec Macromedia Dreamweaver 8. Je n'utilise que le fonction Design et ne maîtrise rien en ce qui concerne le code ou le php.
Mon objectif est de créer une page formulaire avec des champs et menus déroulants à compléter par les internautes. J'arrive à insérer les zones de texte, les menus déroulants et le bouton d'action (Submit).
Je souaiterai donc que lorsque les internautes cliquent sur "SUBMIT", les données complétées du formulaire me soient transférées par mail.
J'ai bien trouvé une fonction qui me permette de le faire : dans les Prpriétés de la page j'ai défini l'action "mailto:monmail@monmail.com"
Seulement, ça ouvre un message Outlook prérempli. Je veux simplement un envoi sans que ça ait à passer par la messagerie de l'internaute.
Avez vous des solutions svp.
A+
Julien
A voir également:
- Formulaire envoyé par mail avec DREAMWEAVER
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Windows live mail - Télécharger - Mail
- Publipostage mail - Accueil - Word
- Formulaire de reclamation instagram - Guide
13 réponses
Je vais tenter de d'expliquer ce turtoriel.
Je vais prendre en compte que tu connais quand même DreamWeaver.
Tu vas créer 2 fichiers PHP, le premier s'appelera formulairedenvoi.php et l'autre envoimail.php
Dans le premier fichier, tu vas créer un formulaire que tu apelleras : frm_mail. l'action devra renvoyer vers envoimail.php, la methode : POST et Enctype : application/x-www-form-urlencoded
Dans ce formulaire, crée un tableau 5 lignes, 2 colonnes et adapte le comme ceci :
Nom : | champ de texte
Mail : | champ de texte
Sujet : | champ de texte
Message : | zone de texte
| bouton d'envoi
Chacun de tes élément (champ de texte, zone de texte et bouton) doivent être nommé !
Nomme les respectivement nom, mail, objet, message, boutonEnvoi
si tu n'y arrives pas, passe en mode Code et, entre les balises
Tu suis jusqu'ici ?
Dans le second fichier, tu te mets en mode Code, tu n'auras pas besoin d'aller en mode Création.
On va récuperer nos éléments, en haut de la page, en ligne 1, tu vas taper le code suivant :
Pour envoyer un mail il est nécéssaire de définir une entête MIME.
L'entête MIME
Les entêtes des messages Internet sont normalisés par les RFC (Requests For Comments) et le but de MIME est de définir un standard au niveau internationnal.
Les champs d'entête :
From: mail@domaine.com
l'auteur du courrier.
Sender: mail@domaine.
l'adresse de l'expéditeur.
Reply-To: adresse_reponse@domaine.com
l'adresse de réponse au mail.
To: destinataire@domaine.com
la liste d'adresses des destinataires du mail.
Cc: destinataire_copie@domaine.com
la liste des destinataires d'une copie du mail.
Bcc: destinataire_copie@domaine.com
les destinataires non-visible d'une copie du mail.
Message-ID: code_message
un code unique d'identification du message.
In-Reply-To: message_id
est utilisé pour identifier le (ou les) mail pour lequel il en est un nouveau.
References: message_id
est utilisé pour identifier le fil de la conversation.
Subject: Sujet
le sujet du message.
Comments: Commentaire
commentaire à propos du mail.
X-Mailer: php
Le logiciel qui à envoyé le mail ici PHP.
Keywords: Mot-clé
mots-clés relatifs au mail.
Date: date
Date d'expédition.
MIME-Version: 1.0
la version MIME du mail.
Content-Type: type/sous-type; {charset = encodage} | {boundary = délimiteur}
le type et le sous-type (text/plain, image/jpeg, audio/basic, application/postscript, etc.) et l'encodage (US-ASCII ou ISO-8859-X) du contenu d'un courrier.
Si le couple type/sous-type possède la valeur multipart/mixed ou multipart/alternative, l'attribut boundary permet de délimiter les parties encodées différemment par une chaîne de caractères spéciale.
Content-transfer-encoding: 7bit | 8bit | binary | quoted-printable | base64
définit un mécanisme d'encodage du contenu d'un mail.
Content-ID: message_id
la référence à un contenu d'un autre mail.
Content-Description: texte.
information descriptive à propos du contenu d'un mail.
On va configurer l'entête de notre mail à envoyer, à la suite de ton code, tu mets ceci :
Ensuite, on abesoin de définir le sujet le destinataire et le corp du message. Toujours à la suite de ton code,
Bien, ceci étant fait et bien fait, entre les balise HTML
tu enregistres le tout, tu envois tout sur ton hébergeur et tu test...
Si tu as bien tout suivi, tu devrais recevoir un email.
bon développement
Je vais prendre en compte que tu connais quand même DreamWeaver.
Tu vas créer 2 fichiers PHP, le premier s'appelera formulairedenvoi.php et l'autre envoimail.php
Dans le premier fichier, tu vas créer un formulaire que tu apelleras : frm_mail. l'action devra renvoyer vers envoimail.php, la methode : POST et Enctype : application/x-www-form-urlencoded
Dans ce formulaire, crée un tableau 5 lignes, 2 colonnes et adapte le comme ceci :
Nom : | champ de texte
Mail : | champ de texte
Sujet : | champ de texte
Message : | zone de texte
| bouton d'envoi
Chacun de tes élément (champ de texte, zone de texte et bouton) doivent être nommé !
Nomme les respectivement nom, mail, objet, message, boutonEnvoi
si tu n'y arrives pas, passe en mode Code et, entre les balises
<body></body>tu colles le code suivant :
<table width="500" border="0" cellspacing="0" cellpadding="0"> <form action="envoi.php" method="post" enctype="application/x-www-form-urlencoded" name="formulaire"> <tr> <td colspan="3">Envoyer un message</td> </tr> <tr> <td><div align="right">Votre nom</div></td> <td colspan="2"><input type="text" name="nom" size="45" maxlength="100"></td> </tr> <tr> <td width="17%"><div align="right">Votre mail</div></td> <td colspan="2"><input type="text" name="mail" size="45" maxlength="100"></td> </tr> <tr> <td><div align="right">Sujet :</div></td> <td colspan="2"><input type="text" name="objet" size="45" maxlength="120"></td> </tr> <tr> <td><div align="right">Message :</div></td> <td colspan="2"><textarea name="message" cols="50" rows="10"></textarea></td> </tr> <tr> <td></td> <td width="42%"><center><input type="reset" name="Submit" value="Réinitialiser le formulaire"></center></td> <td width="41%"><center><input type="submit" name="Submit" value="Envoyer"></center></td> </tr> </form> </table>
Tu suis jusqu'ici ?
Dans le second fichier, tu te mets en mode Code, tu n'auras pas besoin d'aller en mode Création.
On va récuperer nos éléments, en haut de la page, en ligne 1, tu vas taper le code suivant :
<?php $nom=$HTTP_POST_VARS['nom']; $mail=$HTTP_POST_VARS['mail']; $objet=$HTTP_POST_VARS['objet']; $message=$HTTP_POST_VARS['message'];
Pour envoyer un mail il est nécéssaire de définir une entête MIME.
L'entête MIME
Les entêtes des messages Internet sont normalisés par les RFC (Requests For Comments) et le but de MIME est de définir un standard au niveau internationnal.
Les champs d'entête :
From: mail@domaine.com
l'auteur du courrier.
Sender: mail@domaine.
l'adresse de l'expéditeur.
Reply-To: adresse_reponse@domaine.com
l'adresse de réponse au mail.
To: destinataire@domaine.com
la liste d'adresses des destinataires du mail.
Cc: destinataire_copie@domaine.com
la liste des destinataires d'une copie du mail.
Bcc: destinataire_copie@domaine.com
les destinataires non-visible d'une copie du mail.
Message-ID: code_message
un code unique d'identification du message.
In-Reply-To: message_id
est utilisé pour identifier le (ou les) mail pour lequel il en est un nouveau.
References: message_id
est utilisé pour identifier le fil de la conversation.
Subject: Sujet
le sujet du message.
Comments: Commentaire
commentaire à propos du mail.
X-Mailer: php
Le logiciel qui à envoyé le mail ici PHP.
Keywords: Mot-clé
mots-clés relatifs au mail.
Date: date
Date d'expédition.
MIME-Version: 1.0
la version MIME du mail.
Content-Type: type/sous-type; {charset = encodage} | {boundary = délimiteur}
le type et le sous-type (text/plain, image/jpeg, audio/basic, application/postscript, etc.) et l'encodage (US-ASCII ou ISO-8859-X) du contenu d'un courrier.
Si le couple type/sous-type possède la valeur multipart/mixed ou multipart/alternative, l'attribut boundary permet de délimiter les parties encodées différemment par une chaîne de caractères spéciale.
Content-transfer-encoding: 7bit | 8bit | binary | quoted-printable | base64
définit un mécanisme d'encodage du contenu d'un mail.
Content-ID: message_id
la référence à un contenu d'un autre mail.
Content-Description: texte.
information descriptive à propos du contenu d'un mail.
On va configurer l'entête de notre mail à envoyer, à la suite de ton code, tu mets ceci :
/////voici la version Mine $headers = "MIME-Version: 1.0\r\n"; //////ici on détermine le mail en format text $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; ////ici on détermine l'expediteur et l'adresse de réponse $headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";
Ensuite, on abesoin de définir le sujet le destinataire et le corp du message. Toujours à la suite de ton code,
$subject="$objet"; ////tu remplace "moi@moi.com" par ton email $destinataire="moi@mail.com"; $body="$message"; ?>
Bien, ceci étant fait et bien fait, entre les balise HTML
<body></body>tu vas mettre le code suivant :
<?php if (mail($destinataire,$subject,$body,$headers)) { echo "Votre mail a été envoyé"; } else { echo "Une erreur s'est produite"; } ?>
tu enregistres le tout, tu envois tout sur ton hébergeur et tu test...
Si tu as bien tout suivi, tu devrais recevoir un email.
bon développement
Salut,
Ce genre de formulaire nécéssite que tu mettes la main à la pate !
Tu vas devoir coder et si tu n'en as jamais fait, tu risques de n'y rien comprendre...
Je te redirige vers un tutoriel très intéressant qui t'apprendras à faire ce que tu veux.
Si certains éléments te semble incompréhensible, n'hésite pas à te renseigné dessus.
http://wiki.mediabox.fr/tutoriaux/php/lenvoi-mail-php
@++
Ce genre de formulaire nécéssite que tu mettes la main à la pate !
Tu vas devoir coder et si tu n'en as jamais fait, tu risques de n'y rien comprendre...
Je te redirige vers un tutoriel très intéressant qui t'apprendras à faire ce que tu veux.
Si certains éléments te semble incompréhensible, n'hésite pas à te renseigné dessus.
http://wiki.mediabox.fr/tutoriaux/php/lenvoi-mail-php
@++
En fait avec l'exemple, j'ai créé un fichier envoi.php où j'ai entré le code donné.
Seulement, au lieu de m'envoyer un mail, ça m'ouvre une nouvelle page qui contient cela :
\r\nReply-to : $nom <$mail>\nX-Mailer:PHP"; $subject="$objet"; $destinataire="moi@mail.com"; $body="$message"; if (mail($destinataire,$subject,$body,$headers)) { echo "Votre mail a été envoyé"; } else { echo "Une erreur s'est produite"; } ?>
En gros ça reprend une partie du code à partir de la moitié de la 14ème ligne.
comment ça se fait. J'ai trop de mal à comprendre.
Merci d'avance.
Julien
Seulement, au lieu de m'envoyer un mail, ça m'ouvre une nouvelle page qui contient cela :
\r\nReply-to : $nom <$mail>\nX-Mailer:PHP"; $subject="$objet"; $destinataire="moi@mail.com"; $body="$message"; if (mail($destinataire,$subject,$body,$headers)) { echo "Votre mail a été envoyé"; } else { echo "Une erreur s'est produite"; } ?>
En gros ça reprend une partie du code à partir de la moitié de la 14ème ligne.
comment ça se fait. J'ai trop de mal à comprendre.
Merci d'avance.
Julien
Si ça te dis, je suis chez freeheberg.com
Ils sont gratuit et gère le PHP.
Pour répondre à tes questions
1) Le premier fichier ne peut-il pas être en html plutot qu'en php ?
Bien sur, ça ne pose aucun problème.
2) Comment se fait le lien entre le Bouton d'envoi du premier fichier et le deuxième fichier PHP.
C'est le formulaire qui fait le lien. si tu regardes la syntaxe du formulaire, tu le verras ;)
3) Je ne sais pas où placer les balises html correspondant à la dernière étape de ton tutoriel. Premier fichier ou deuxième fichier ? A partir de quel ligne de code - en haut, au milieu, en bas ?
Cette dernière partie est à placer dans le second fichier, entre les balises
Une dernière chose, n'abandonne surtout, continue, au lieu de continuer en mode création, intéresse toi de plus près au code et tu comprendras mieux ce que je tente de t'expliquer.
Ne commence pas en PHP directement, apprends la syntaxe de l'HTML, à quoi peuvent correspondre les balises et tu verras que tout semblera plus claire.
Bonne chance pour la suite
Ils sont gratuit et gère le PHP.
Pour répondre à tes questions
1) Le premier fichier ne peut-il pas être en html plutot qu'en php ?
Bien sur, ça ne pose aucun problème.
2) Comment se fait le lien entre le Bouton d'envoi du premier fichier et le deuxième fichier PHP.
C'est le formulaire qui fait le lien. si tu regardes la syntaxe du formulaire, tu le verras ;)
<form action="envoi.php" method="post" enctype="application/x-www-form-urlencoded" name="formulaire">
3) Je ne sais pas où placer les balises html correspondant à la dernière étape de ton tutoriel. Premier fichier ou deuxième fichier ? A partir de quel ligne de code - en haut, au milieu, en bas ?
Cette dernière partie est à placer dans le second fichier, entre les balises
<body></body>
Une dernière chose, n'abandonne surtout, continue, au lieu de continuer en mode création, intéresse toi de plus près au code et tu comprendras mieux ce que je tente de t'expliquer.
Ne commence pas en PHP directement, apprends la syntaxe de l'HTML, à quoi peuvent correspondre les balises et tu verras que tout semblera plus claire.
Bonne chance pour la suite
bonjour,
J'ai bien suivi le tuto que tu as présenté mais ça ne marche pas :
- mon formulaire est dans une cellule de ma page Web (page nommée "index.htm"). Au niveau du code Javascript, c'est OK : quand je charge ma page chez mon hébergeur (Free) et que je l'appelle via IE, je vois bien le formulaire :-)
- sur une autre page (nommée envoi.php), j'ai créé le code php
- et j'ai bien collé les controles entre les balises <body> et <:body> de ma page HTML (index.htm)
J'ai vérifié que Free gère le PHP et qu'il est possible d'envoyer des formulaires.
Le problème : quand tout ça est chargé chez Free, j'appelle ma page via IE, ma page avec le formulaire s'affiche, je le remplis le formulaire, et quand je fait "Envoyer" j'ai une page Web vide qui s'ouvre (adresse : http://lenomdemonsite.free.fr/envoi.php)..... et pas de mail envoyé :-(
C'est désespérant !
Une idée ?
PS : les controles entre les balises <body> et <:body> ne me renvoient aucune erreur
J'ai bien suivi le tuto que tu as présenté mais ça ne marche pas :
- mon formulaire est dans une cellule de ma page Web (page nommée "index.htm"). Au niveau du code Javascript, c'est OK : quand je charge ma page chez mon hébergeur (Free) et que je l'appelle via IE, je vois bien le formulaire :-)
- sur une autre page (nommée envoi.php), j'ai créé le code php
- et j'ai bien collé les controles entre les balises <body> et <:body> de ma page HTML (index.htm)
J'ai vérifié que Free gère le PHP et qu'il est possible d'envoyer des formulaires.
Le problème : quand tout ça est chargé chez Free, j'appelle ma page via IE, ma page avec le formulaire s'affiche, je le remplis le formulaire, et quand je fait "Envoyer" j'ai une page Web vide qui s'ouvre (adresse : http://lenomdemonsite.free.fr/envoi.php)..... et pas de mail envoyé :-(
C'est désespérant !
Une idée ?
PS : les controles entre les balises <body> et <:body> ne me renvoient aucune erreur
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour et d'abord merci pour tous vos conseils pour le formulaire!
jusque là, j'ai fait mon formulaire et utilisé le type de codes donné juste dans le post précédent, mais lors de l'envoi une page s'affiche en disant ceci:
Parse error: syntax error, unexpected '@' in /homepages/15/d296156274/htdocs/formulaire.php on line 18
alors je me dis que m'envoyer un mail sans @ c'est un peu impossible, vous pourriez me dire quelle est la solution?
voici mon formulaire: http://www.scierie-nicolas-miclo.fr/m%20abonner.html
merci d'avance !
jusque là, j'ai fait mon formulaire et utilisé le type de codes donné juste dans le post précédent, mais lors de l'envoi une page s'affiche en disant ceci:
Parse error: syntax error, unexpected '@' in /homepages/15/d296156274/htdocs/formulaire.php on line 18
alors je me dis que m'envoyer un mail sans @ c'est un peu impossible, vous pourriez me dire quelle est la solution?
voici mon formulaire: http://www.scierie-nicolas-miclo.fr/m%20abonner.html
merci d'avance !
Il faut peu etre ouvrir les yeux et ne pas partir la queue entre les jambes, le lien etre les deux fichiers quand on clic sur "envoie et en tout debut de premiere page >>> action="envoi.php"
Tu n' a pas du lire jusque la a mon avis....
Veux tu que l' on te fasse ton formulaire mail en php, parce que l' on comprend si c' est difficile, c' est pas comme si y' avait plein de tuto sur le net et comme si on ne t' avait pas dit comment faire
Tu n' a pas du lire jusque la a mon avis....
Veux tu que l' on te fasse ton formulaire mail en php, parce que l' on comprend si c' est difficile, c' est pas comme si y' avait plein de tuto sur le net et comme si on ne t' avait pas dit comment faire
freestyle: la ligne 18 c'est le destinataire : recipient: adresse mail " justement
graffix: t assez agressif je t'ai rien fait ! J'ai justement mis action:"envoi.ftp" puisque tu peux voir que ensuite s'affiche une erreur dans la page php! Je demande juste un peu d'aide parce que ca fait 3 tuto que j'essaie de suivre et là je comprends pas le message d'erreur c'est tout
graffix: t assez agressif je t'ai rien fait ! J'ai justement mis action:"envoi.ftp" puisque tu peux voir que ensuite s'affiche une erreur dans la page php! Je demande juste un peu d'aide parce que ca fait 3 tuto que j'essaie de suivre et là je comprends pas le message d'erreur c'est tout
Tu as raison, mille excuses pour mon attitude qui forcement paraissait aggréssive.
Mais envoi.ftp?????
pourquoi ce .ftp?
Il faut que tu mette la page vers la quelle le formulaire enverra les infos quand tu cliqueras sur "envoyer", en general c' est "kelkechoz.php"
Mais envoi.ftp?????
pourquoi ce .ftp?
Il faut que tu mette la page vers la quelle le formulaire enverra les infos quand tu cliqueras sur "envoyer", en general c' est "kelkechoz.php"
oui pas ftp mais php désolée
j'ai fait action="formulaire.php" en fait et c'est dans la page php que ca pose problème ligne 18, c'est le @. Dans mon site le "envoi.php" dont vous parlez s'appelle "formulaire.php" pour éviter la confusion avec d'autres pages.
j'ai fait action="formulaire.php" en fait et c'est dans la page php que ca pose problème ligne 18, c'est le @. Dans mon site le "envoi.php" dont vous parlez s'appelle "formulaire.php" pour éviter la confusion avec d'autres pages.
OK, dans ta page html tu as écris action=formulaire.php
mais la synthaxe exacte est <form action="../formulaire.php" method="post">
Est ce celà que tu as écris ?
D'autre part la page php doit s'appeler formulaire .php
Est ce comme ça que tu l'as nommée ?
Dans la page php, la ligne recipient doit être écrite comme ça $recipient = "toto@machin.fr";
Est ce comme ça que tu l'as écrite ?
A+
mais la synthaxe exacte est <form action="../formulaire.php" method="post">
Est ce celà que tu as écris ?
D'autre part la page php doit s'appeler formulaire .php
Est ce comme ça que tu l'as nommée ?
Dans la page php, la ligne recipient doit être écrite comme ça $recipient = "toto@machin.fr";
Est ce comme ça que tu l'as écrite ?
A+
mais j'abandonne, j'ai l'impression que mon offre Hégergeur (1and1.fr) ne prend pas en compte le PHP, et c'est pourquoi j'ai une erreur de type 403.
Par contre, j'ai bien pris en compte tous tes conseils pour l'avenir et ai essayé de créer les 2 fichiers.
Je ne comprends pas les éléments suivants :
1) Le premier fichier ne peut-il pas être en html plutot qu'en php ?
2) Comment se fait le lien entre le Bouton d'envoi du premier fichier et le deuxième fichier PHP.
3) je ne sais pas où placer les balises html correspondant à la dernière étape de ton tutoriel. Premier fichier ou deuxième fichier ? A partir de quel ligne de code - en haut, au milieu, en bas ?
Merci pour tout
Julien