Rechercher : dans
Par :

Formulaire envoyé par mail avec DREAMWEAVER

Dernière réponse le 6 sep 2009 à 19:52:53 Julien, le 12 avr 2009 à 14:55:15 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Macromedia Dreamweaver 8

Meilleures réponses pour « Formulaire envoyé par mail avec DREAMWEAVER » dans :
Impossible d'envoyer des mails par smtp.mail.yahoo.fr VoirSymptômes Si vous ne parvenez plus à envoyer du courrier avec le serveur SMTP de Yahoo et que Outlook vous renvoie le message suivant : Échec de la connexion au serveur. Compte : 'pop.mail.yahoo.fr' Serveur : 'smtp.mail.yahoo.fr', Protocole :...
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
PHP - Mail et fonctions réseau VoirPHP étant un langage consacré au Web, il possède bien évidemment des fonctions lui permettant de communiquer avec le "monde extérieur" à l'aide de fonctions standards. Le service le plus utilisé sur Internet étant la messagerie électronique, il est...

1

JDavisMet, le 12 avr 2009 à 15:13:28

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

@++

Répondre à JDavisMet

2

Julien, le 12 avr 2009 à 15:23:47

Merci beaucoup.

Par contre, je ne comprends pas où doit être entré le code PHP et encore moins l'en tête MIME.

tu connais les correspondances avec Dreamweaver ?

merci,

Julien

Répondre à Julien

3

Julien, le 12 avr 2009 à 16:06:33

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

Répondre à Julien

4

Julien, le 12 avr 2009 à 16:50:34

Re,

j'ai tout de même essayé de mettre les 2 fichiers en ligne. Mais quand je clique sur "envoyer", mon hébergeur m'affiche le message suivant :

"Error 403 - Forbidden

L'accès au fichier requiert une autorisation."

j'enrage, de l'aide vite svp.

A+
julien

Répondre à Julien

5

JDavisMet, le 12 avr 2009 à 16:57:36

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

<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

Répondre à JDavisMet

6

Julien, le 12 avr 2009 à 17:28:41

Merci beaucoup pour toute cette aide,

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

Répondre à Julien

7

JDavisMet, le 12 avr 2009 à 21:56:40

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 ;)

<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

Répondre à JDavisMet

8

free-style, le 7 jun 2009 à 17:13:39

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

Répondre à free-style

9

free-style, le 8 jun 2009 à 15:40:40

Cherchez plus j'ai trouvé : ce code ne marche pas !

J'en ai pris un autre et c'est OK

Répondre à free-style

10

ozbow, le 20 jui 2009 à 19:05:23

Tu peux nous dire le code que tu as trouvé stp

Répondre à ozbow

11

free-style, le 20 jui 2009 à 23:59:03
Répondre à free-style

12

melonweb, le 5 sep 2009 à 21:05:14

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 !

Répondre à melonweb

13

free-style, le 5 sep 2009 à 21:47:32

Qu'est ce qui est écrit ligne 18 ?

Répondre à free-style

14

ozbow, le 5 sep 2009 à 23:09:35

Je te remercie free-style !

Répondre à ozbow

15

graffx, le 6 sep 2009 à 01:20:40

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

Répondre à graffx

16

wili, le 6 sep 2009 à 02:02:56

J ai fai le mien avec ce site c super simple
http://www.unesourisetmoi.info/formulaires/nuls1.php

Répondre à wili

17

melonweb, le 6 sep 2009 à 13:23:29

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

Répondre à melonweb

18

graffx, le 6 sep 2009 à 13:35:05

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"

Répondre à graffx

19

melonweb, le 6 sep 2009 à 13:43:20

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.

Répondre à melonweb

20

free-style, le 6 sep 2009 à 14:31:20

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+

Répondre à free-style

21

melonweb, le 6 sep 2009 à 18:45:11

Bon je te l'accorde, je suis un peu stupide.... j'avais oublié un " à la con après recipient=

ca marche

merci beaucoup pour ta patience!!!

Répondre à melonweb

22

 free-style, le 6 sep 2009 à 19:52:53

Nickel !

Répondre à free-style
Collection CommentÇaMarche.net