|
|
|
|
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
Salut,
|
Je vais tenter de d'expliquer ce turtoriel.
<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
|
Si ça te dis, je suis chez freeheberg.com
<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 et d'abord merci pour tous vos conseils pour le formulaire!
|
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"
|
J ai fai le mien avec ce site c super simple
|
Freestyle: la ligne 18 c'est le destinataire : recipient: adresse mail " justement
|
Répondre à melonweb
|