Accueil > Forum > > > > données d'un formulaire envoyées vers e-mail via PHP
données d'un formulaire envoyées vers e-mail via PHP
mercredi 21 juillet 2010 à 02:02:10 |
données d'un formulaire envoyées vers e-mail via PHP

da vince
|
Salut tout le monde,
tout d'abord, je voudrais dire que je n'ai pour ainsi dire jamais fait de PHP. Il faudra être indulgent avec moi, je crains  .
Ma copine est en train de créer son site perso et y a mis un formulaire de contact; elle voudrait:
*recevoir les infos remplies par les personnes dans sa boîte mail
*afficher un message de succès d'envoi sur l'écran
*qu'un mail de confirmation soit envoyé au visiteur qui a rempli le formulaire
J'ai essayé en cherchant sur le net et suis arrivé à ça (pas fameux  ...) mais bien sur, ça marche pas
HTML de sa page:
Code HTML : <!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="generator" content="Adobe RoboHelp - www.adobe.com">
<title>Contact</title>
</head>
<body>
<h1 class="whs1">Contact</h1>
<p class="whs2">Some reasons why you might want to contact
me...</p>
<p class="whs2"> </p>
<ul type="disc" class="whs3">
<li class=p><p>Is there something you miss on this site? </p></li>
<li class=p><p>Do you have any suggestions for me on how to improve
the site? </p></li>
<li class=p><p>Would you like to visit me to have something designed
specially for you? </p></li>
<li class=p><p>Are you wondering whether that necklace could be created
in another colour? </p></li>
<li class=p><p>Would you like to receive a news mail when newly created
items are added to this site? </p></li>
<li class=p><p>Have you bought jewellery somewhere but you would like
to replace the ear wires or the clasp? </p></li>
<li class=p><p>Do you have old jewellery which you would like to see
transformed into a new piece of art?</p></li>
<li class=p><p>Would you just like to share your opinion with me? </p></li>
<li class=p><p>Do you need my opinion on something?</p></li>
<li class=p><p>Have you bought the most beautiful beads but you have
no idea how to create something with them?</p></li>
<li class=p><p>Is an item sold and would you like to have it reproduced
for you?</p></li>
<li class=p><p>Would you like to sell my items in your shop?</p></li>
</ul>
<p class="whs2"> </p>
<p class="whs2">If you have any questions or suggestions
about the artistic creations or about the site, you can always contact
me by completing the form below. If you'd like to order something from
this site, please go to the <a href="Order.htm" style="x-condition: English;">order
form</a>. </p>
<p class="whs2"> </p>
<form method="POST" action="contact_form.php" name="Contact form" class="whs4">
<table x-use-null-cells cellspacing="0" width="66.667%" class="whs5">
<col class="whs6">
<col class="whs7">
<input type="hidden" name="require" value="text,text1,text2,textarea,radio_yes,radio_no,text61">
<tr valign="top" class="whs8">
<td width="27.443%" class="whs9">
<p>First name </td>
<td width="72.557%" class="whs10">
<p><input type=text name=text2 style="width: 243px; x-condition: English;"></td></tr>
<tr valign="top" class="whs8">
<td width="27.443%" class="whs9">
<p>Last name</td>
<td width="72.557%" class="whs10">
<p><input type=text name=text1 style="width: 243px; x-condition: English;"></td></tr>
<tr valign="top" class="whs8">
<td width="27.443%" class="whs9">
<p>Subject </td>
<td width="72.557%" class="whs10">
<p><input type=text name=text style="width: 243px; x-condition: English;"></td></tr>
<tr valign="top" class="whs8">
<td colspan="1" rowspan="1" width="27.443%" class="whs9">
<p>Comments or questions</td>
<td colspan="1" rowspan="1" width="72.557%" class="whs10">
<p><textarea name=textarea wrap rows=2 cols=20 style="width: 485px; height: 123px; x-condition: English;"></textarea></td></tr>
<tr valign="top" class="whs8">
<td colspan="1" rowspan="1" width="27.443%" class="whs9">
<p>News mails?</td>
<td colspan="1" rowspan="1" width="72.557%" class="whs10">
<p>yes<input type=radio name=radio_yes style="x-condition: English;">no<input
type=radio name=radio_no style="x-condition: English;"></td></tr>
<tr valign="top" class="whs8">
<td colspan="1" rowspan="1" width="27.443%" class="whs9">
<p>E-mail address</td>
<td colspan="1" rowspan="1" width="72.557%" class="whs10">
<p><input type=text name=text61 style="width: 484px; x-condition: English;"></td></tr>
</table>
<p class="whs2"> </p>
<p class="whs2"><input type=submit name=image x-save-method
value="Send!"><input type=reset name=reset></p>
</form>
<p class="whs11"> </p>
<script type="text/javascript" language="javascript1.2">
<!--
highlightSearch();
AddTopicSwf();
if(0)
{
document.write("<p style=\"font-family: Verdana; font-size: 10pt; font-weight: 400; font-style:normal; color: rgb(0, 128, 128); text-decoration:none; text-align: right\"> ");
AddMasterBreadcrumbs("index.htm", "font-family: Verdana; font-size: 10pt; font-weight: 400; font-style:normal; color: rgb(0, 128, 128); text-decoration:none; text-align: right",
" | ", "Home", "Sparkling_world.htm");
document.write("<a style=\"font-family: Verdana; font-size: 10pt; font-weight: 400; font-style:normal; color: rgb(0, 128, 128); text-decoration:none; text-align: right\"
href=\"About.htm\">General</a> | Contact</p>");
}
//-->
</script>
</body>
</html>
et le PHP (contact_form.php:
Code PHP : <!--
Valeurs des champs:
text= Subject
text1= Last name
text2= First name
textarea= Comments or questions
radio_yes= News mails? yes
radio_no= News mails? no
text61= E-mail address
-->
<?php
$recipientname = "Lieselot Hermans";
$recipientemail = "levhenin@hotmail.com";
$subject = "Online-Form Response for $recipientname";
$autoresponse = "yes";
$autosubject = "Thank you for your mail!";
$automessage = "This is an auto response to let you know that I've successfully received your email sent through the email form. Thanks! I'll get back to you shortly.";
$thanks = "Thank you for contacting me.<br />I will get back to you as soon as possible.<br />";
$error_field = "<h3 style='color:orange;'>Missing $dcheck[$check].<br />
<a href='#' onClick="history.go(-1)">Please try again...</a></h3>";
$error_email = "<h3 style='color:orange;'>Error, your e-mail address is not correct, <a href='#' onClick="history.go(-1)">please try again...</a></h3>";
?>
<?php
if($_POST['submitform']) {
$text = $HTTP_POST_VARS['text'];
$text1 = $HTTP_POST_VARS['text1'];
$text2 = $HTTP_POST_VARS['text2'];
$text61 = $HTTP_POST_VARS['text61'];
$textarea = $HTTP_POST_VARS['textarea'];
$radio_yes= $HTTP_POST_VARS['radio_yes'];
$radio_no = $HTTP_POST_VARS['radio_no'];
// check required fields
$dcheck = explode(",",$require);
while(list($check) = each($dcheck)) {
if(!$$dcheck[$check]) {
echo "$error_field";
}
}
// check email address
if ((!ereg(".+\@.+\..+", $text61)) || (!ereg("^[a-zA-Z0-9_@.-]+$", $text61))){
echo "$error_email";
else
{
$browser = $HTTP_USER_AGENT;
$ip = $REMOTE_ADDR;
// format message
$message = "Online-Form Response for $recipientname:
Subject: $text
Last Name: $text1
First Name: $text2
Email: $text61
News mails? yes: $radio_yes
News mails? no: $radio_no
Comments or Questions: $textarea
-----------------------------
Browser: $browser
User IP: $ip";
// send mail and print success message
mail($recipientemail,"$subject","$message","From: $text1 $text2 <$text61>");
if($autoresponse == "yes") {
$autosubject = stripslashes($autosubject);
$automessage = stripslashes($automessage);
mail($text61,"$autosubject","$automessage","From: $recipientname <$recipientemail>");
}
echo "$thanks";
}
}
else{}
?>
Merci beaucoup,
Mon couple est en jeu  (quand même pas mais presque...)
Davince
Davince
|
|
mercredi 21 juillet 2010 à 08:26:02 |
Re : données d'un formulaire envoyées vers e-mail via PHP

gillardg
|
Bonjour,
voici un exemple de form mail simple, avec ça tu devrais t'en sortir
Code PHP : <form action="" class="style1" method="post">
<label id="Label1">subject <br />
<br />
</label>
<input name="Subject" type="text" />
<label id="Label2"><br />
body <br />
</label> <textarea name="Body" class="style2"></textarea> <br />
<input name="Submit1" type="submit" value="Sendmail" /></form>
<?php
$to='georges@gillardg.net';
if (isset($_POST['Subject'] ))
mail($to,$_POST['Subject'],$_POST['Body']);
?>
a+
google est mon ami quand tu cherches quelque chose demande lui clairement
|
|
mercredi 28 juillet 2010 à 16:54:20 |
Re : données d'un formulaire envoyées vers e-mail via PHP

da vince
|
Merci bcp pour ta réponse,
Je vais essayer et te dirai quoi.
Le problème, c'est qu'un mail de confirmation devrait être également envoyé à la personne qui a rempli le formulaire. Peux-tu, as-tu déja fait ça?
Merci,
Davince
|
|
mercredi 28 juillet 2010 à 20:37:10 |
Re : données d'un formulaire envoyées vers e-mail via PHP

kohntark
|
Salut,
Je passe juste dans le coin pour insister sur le "form mail simple" de Gillardg.
Ce script n'est (je pense) là que pour te donner des pistes, il ne faut en aucun cas l'utiliser ainsi, c'est un gouffre à injections !!
Avec ça n'importe qui peut envoyer des mails à n'importe qui, et en masse !!
Prends donc connaissance des risques encourus en cherchant :
'injection mail php'
'php traitement des formulaires'
Je n'ai pas regardé mais ça devrait te donner de bons résultats.
Cordialement,
Kohntark -
|
|
lundi 2 août 2010 à 23:18:15 |
Re : données d'un formulaire envoyées vers e-mail via PHP

da vince
|
Merci Kohntark,
Je vais effectivemment me renseigner avant de faire des bêtises ;-)
As-tu déjà fait des form php plus complexes qui renvoient un mail de confirmation au visiteur?
++
Davince
|
|
mardi 3 août 2010 à 09:31:51 |
Re : données d'un formulaire envoyées vers e-mail via PHP

gillardg
|
Bonjour,
les injections sont possibles dans les champs from et to mais pas dans le subject ni dans le body
dans mon exemple
from est mail_php@example.com
to est fixé dans le script
a+
google est mon ami quand tu cherches quelque chose demande lui clairement
|
|
mercredi 11 août 2010 à 11:29:54 |
Re : données d'un formulaire envoyées vers e-mail via PHP

da vince
|
J'ai trouvé un workaround avec un script PHP beaucoup plus simple, donc temporairement on s'en sort, mais je n'arrive pas à trouver la solution avec l'exemple repris dans ce post (voir premier message).
Le but est que les gens remplissent le formulaire et qu'au moment où ils envoient (avec checking du remplissage des champs et de l'adresse mail), un message apparaît sur le site et qu'ils reçoivent un mail de confirmation pour dire que les données du formulaire ont bien été envoyées.
Le problème est que je reçois toujours une page blanche ou "internet explorer (ou firefox) ne peut afficher la page"
image: <IMG>
Dans les grandes lignes, ça paraît juste mais pour certaines partie du script, je crois que je suis à côté de la plaque:
Code PHP :
<meta http-equiv="Refresh" content="4; url=Contact_essai.htm">
<?php
$recipientname = "Lieselot Hermans";
$recipientemail = "levhenin@hotmail.com";
$subject = "CONTACT: Online-Form Response for $recipientname";
$autoresponse = "yes";
$autosubject = "Thank you for your mail!";
$automessage = "This is an auto response to let you know that I've successfully received your email sent through the email form. Thanks! I'll get back to you shortly.";
$thanks = "Thank you for contacting me.<br />I will get back to you as soon as possible.<br />";
$error_field = "<h3 style='color:orange;'>Missing $dcheck[$check].<br />
<a href='href='http://www.paz-a-paz.be/Lieselot_Hermans/index.htm#Contact.htm'>Please try again...</a></h3>";
$error_email = "<h3 style='color:orange;'>Error, your e-mail address is not correct, <a href='http://www.paz-a-paz.be/Lieselot_Hermans/index.htm#Contact.htm'>please try again...</a></h3>";?>
<?php
if($_POST['submitform']) {
$text = $HTTP_POST_VARS['text'];
$text1 = $HTTP_POST_VARS['text1'];
$text2 = $HTTP_POST_VARS['text2'];
$text61 = $HTTP_POST_VARS['text61'];
$textarea = $HTTP_POST_VARS['textarea'];
$radio_yes= $HTTP_POST_VARS['radio_yes'];
$radio_no = $HTTP_POST_VARS['radio_no'];
// check required fields
$dcheck = explode(",",$require);
while(list($check) = each($dcheck)) {
if(!$$dcheck[$check]) {
echo "$error_field";
}
}
// check email address
if ((!ereg(".+\@.+\..+", $text61)) || (!ereg("^[a-zA-Z0-9_@.-]+$", $text61))){
echo "$error_email";
else
{
$browser = $HTTP_USER_AGENT;
$ip = $REMOTE_ADDR;
// format message
$message = "CONTACT: Online-Form Response for $recipientname:
Subject: $text
Last Name: $text1
First Name: $text2
Email: $text61
News mails? yes: $radio_yes
News mails? no: $radio_no
Comments or Questions: $textarea
-----------------------------
Browser: $browser
User IP: $ip";
// send mail and print success message
mail($recipientemail,"$subject","$message","From: $text1 $text2 <$text61>");
if($autoresponse == "yes") {
$autosubject = stripslashes($autosubject);
$automessage = stripslashes($automessage);
mail($text61,"$autosubject","$automessage","From: $recipientname <$recipientemail>");
}
echo "$thanks";
}
}
else{}
?>
que dois-je corriger pour avoir au clic du bouton d'envoi:
*1 checking du remplissage des champs et adresse e-mail ("$error_field", $error_email)
*1 message de confirmation/remerciement à l'écran ($thanks)
*1 mail de confirmation envoyé à l'adresse du visiteur
Merci mille fois,
V.
|
|
Cette discussion est classée dans : mail, you, have, to, like
Répondre à ce message
Sujets en rapport avec ce message
Erreur dans formulaire : Parse error: parse error in /data/members/free/multimania/fr/v/a/l/vali103/htdocs/formulaire/formmail.php on line 357 [ par vali103 ]
Bonjour,J'utilise Formmail+, j'ai mis les 2 fichier dans un dossier de mon serveur (Lycos Multimania avec PHP activé, fonction (mail) activé)J'ai auss
formulaie email [ par LiTtLeBuBu ]
Bonjour, VOila jai fais un formail en php sur la base d'un code source qui est "formailplus" trouver sur internet et j'arrive a envoyer des emails
aidez moi pb avec email !! [ par anisbs ]
Salut je suis débutant en phpje commence a essayer quelques trucs mais la fonction mail ne fonctionne pas Il me sort un truc comme :Warning: mail():
Envoi d' un mail avec des $variable dans le message [ par blibers ]
Slt a tous ;)voila mon pb :je ne trouve pas de solutions pour pouvoir envoyer un message mail avec des variables dans le corp du message !je vous mets
php.ini [ par henri12 ]
salut je viens d'envoyer un email avec easyephp je trouve pas de fichier php.ini j ai trouver phpsafe.ini dans le repertoire de easyphp es celui la
Probleme de stream [ par ckryo ]
Bonjour, J'aurais voulu savoir que faire qd on a ce message d'erreur : Notice: fopen(): Unable to find the wrapper "https" - did you forget to enabl
Formulaire upload de plusieurs images [ par pak80 ]
Formulaire upload d'imagesalut à tous j'ai trouvé ce code mais j'aimerais pouvoir telecharger plusieurs images via le formulaire quelqu'un peu m'aider
Envoyer un mail par php [ par CyberMen30 ]
Depuis 3 jours, j'essaie de configurer et changer mon code pour pouvoir envoyer un mail en php.Voici mon php.ini:[code] [mail function] SMTP = mail.m
Probleme d'envoi de mail [ par chris tuckers ]
Re-bonjour tout le monde. Je voulais tout d'abord m'excuser pour mes 2 précédents posts .La j'ai un probleme de mail. Il execute mon script, mais n'en
envoi de mail automatique [ par s_tatoue ]
Bonjour, Lorsque j'essaie d'envoyer un mail automatiquement lors de la validation d'un formulaire, j'ai cette erreur qui apparait : Warning: mail(): F
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|