Les Allergies
Alimentaires
Posez votre question Signaler

Script pour envoi formulaire vers mail [Résolu]

calimero - Dernière réponse le 1 mai 2012 à 19:48
Bonjour,

je suis débutante en programmation html, j'essaie de faire un formulaire pour un site web,

j'ai réussi à avoir la page html, mais quand je teste la saisie du nom et email, je suis dirigée vers la messagerie.

comment récupérer l'information directement et l'envoyer vers l'adresse email directement.

merci pour votre aide.

voici le code :

<FORM METHOD="POST" ACTION="mailto:test@yahoo.fr" enctype="text/plain">



<TABLE width="70%">
<TBODY>
<TR>
<TD width="7%"> </TD>
<TD> <P>Prénom</P></TD>
<TD width="1%"> </TD>
<TD><input name=prenom></TD>
</TR>
<TR>
<TD width="7%"> </TD>
<TD> <P>Email</P></TD>
<TD width="1%"> </TD>
<TD><INPUT name=email></TD>
</TR>
<TR>
<TD colSpan=3> </TD>
<TD><INPUT TYPE=submit VALUE="Inscrivez-moi"> </FORM>
</FORM>
</body>
</html>
Lire la suite 

Script pour envoi formulaire vers mail »

88 réponses
Réponse
+17
moins plus
Je ne sus pas sur d'avoir bien compris la question donc je vais essayer de tout réexpliquer ( ou au pire montre moi ton code que je puisse te dire ce qui ne va pas )

Tu doit créer deux fichier, une page html/css dans lequel il y aura ton formulaire :


<div align=center>
<form method=POST action=formmail.php >
<input type=hidden name=subject value=formmail>
<table>
<tr><td>Votre Pseudo:</td>
<td><input type=text name=realname size=30></td></tr>
<tr><td>Votre Site/blog*:</td>
<td><input type=text name=site size=30></td></tr>
<tr><td>Veut tu recevoir les news du site:</td>
<td><input type=text name=news size=30></td></tr>
<tr><td>Veut tu recevoir des offres partenaire²:</td>
<td><input type=text name=site size=30></td></tr>
<tr><td>Votre Email:</td>
<td><input type=text name=email size=30></td></tr>
<tr><td>Sujet ( Contact/histoire/dessins/.....):</td>
<td><input type=text name=title size=30></td></tr>
<tr><td colspan=2>Votre message:<br>
<textarea COLS=50 ROWS=6 name=comments></textarea>
</td></tr>
</table>
<br> <input type=submit value=Envoyer> -
<input type=reset value=Annuler>
</form>
</div> 


et une page formmail.php qui contiendra sa : ( c'est elle qui reçois les information du formulaire et qui te les envoie par mail )

ps : pense bien à changer l'adresse mail et le lien de redirection


<?php
$TO = "ton_mail@quelquechose.autrechose";

$h = "From: " . $TO;

$message = "";

while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}

mail($TO, $subject, $message, $h);

Header("Location: http://ton_site.quelque chose/page de redirection.html");

?>
lbataille - 5 mars 2012 à 14:00
Serait-il possible de savoir à quoi correspond la ligne ci-dessous dans le PHP?

Header("Location: http://ton_site.quelque chose/page de redirection.html");

En d'autres termes, par quoi faut-il remplacer http://ton_site.quelque chose/page de redirection.html

Merci d'avance
Nosaj - 26 avril 2012 à 16:46
@lbataille

La ligne Header(...) permet la redirection vers une autre page (ici, http://ton_site.quelquechose/pagederedirection.html).

@jerem4700

Si tu repasses un jour par là:
Tu ne peux pas utiliser cette fonction si tu a déjà déclaré des choses dans ton head.
A la place tu peux utiliser une balise META pour la redirection du genre:

<?php  
 echo '<META http-equiv="refresh" content="1; URL=actu.php">';    
  
/*META http-equiv="refresh" veut dire que tu veux rafraichir la page  (ty //captain obvious ^^)  content:    
          le 1 veut dire que tu va rafraichir la page au bout de 1 seconde    
         URL : le nom (ou chemin) de la page où tu veux être renvoyé    */
?>

Andrea1306- 27 avril 2012 à 17:36
Bonjour

Comment envoyer ce formulaire a deux personne ?

Merci d'avance
Ajouter un commentaire
Réponse
+4
moins plus
Bonjour, je ne sais pas si vous lisez encore ce post mais bon ^^
pour ajouter/modifier un champs :
<tr><td colspan=2>Votre message:<br>
<textarea COLS=50 ROWS=6 name=comments></textarea>
</td></tr>
il suffit d'ajouter le message précedent et/ou de changer le texte qui est ici votre messages ainsi que le "name" qui est ici comments ( c'est ce que tu recevra par mail avec le message à coter ^^ )

Moi j'en ai fait un qui marche trés bien si sa peut vous aider :

<div align=center>
<form method=POST action=formmail.php >
<input type=hidden name=subject value=formmail>
<table>
<tr><td>Votre Pseudo:</td>
<td><input type=text name=realname size=30></td></tr>
<tr><td>Votre Site/blog*:</td>
<td><input type=text name=site size=30></td></tr>
<tr><td>Veut tu recevoir les news du site:</td>
<td><input type=text name=news size=30></td></tr>
<tr><td>Veut tu recevoir des offres partenaire²:</td>
<td><input type=text name=site size=30></td></tr>
<tr><td>Votre Email:</td>
<td><input type=text name=email size=30></td></tr>
<tr><td>Sujet ( Contact/histoire/dessins/.....):</td>
<td><input type=text name=title size=30></td></tr>
<tr><td colspan=2>Votre message:<br>
<textarea COLS=50 ROWS=6 name=comments></textarea>
</td></tr>
</table>
<br> <input type=submit value=Envoyer> -
<input type=reset value=Annuler>
</form>
</div>



et le php :
PS : Pense bien à changer l'adresse mail !!

<?php
$TO = "ton_mail@quelquechose.autrechose";

$h = "From: " . $TO;

$message = "";

while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}

mail($TO, $subject, $message, $h);

Header("Location: http://elmouktafi.fr/message_envoyer.html");

?>
phil83 - 3 août 2010 à 19:13
même problème que fabienprov...
qqn peut-il nous aider ?
stella65- 18 janv. 2011 à 21:18
Merci pour ces 2 fichiers cela fonctionne très bien, mon soucis c'est juste l'apparence du mail qui est un peu brut de décofrage :

Je n'ai pas d'objet au mail
et voilà comment apparait le contenu

mailto : formmail
nom : Isa XXX
entreprise :
telephone : 0600000000
fax :
mail : xxxxxx@orange.fr
adresse : 125 rue des clochettes
cp : 75019
ville : Paris
pays : France
commentaire : ceci est un test

ça marche ou pas ???
Submit : Envoyer

Y'a t il un moyen de mettre en forme tout ça et surtout de mettre un objet au mail
Merci par avance.
Fanzi - 26 juin 2011 à 15:06
-->à m1602
Je viens d'utiliser ton script pour mon site.
Pour moi ça fonctionne nickel.
Merci
Ajouter un commentaire
Réponse
+4
moins plus
Bonjour
J'ai scrupuleusement (je crois) respecté vos consignes, mais pourtant je ne reçois aucun mail. Je vais juste sur l'adresse que j'ai indiquée dans "Location".
J'ai mis mon site sur Wamp en local.

Ma partie HTML :
<form method="POST" action="formmail.php" >
  <fieldset>
  <input type="hidden" name="subject" value="formmail">
       <label for="nom">Nom :</label><input type="text" id="nom" />
       <label for="prenom">Prénom :</label><input type="text" id="prenom" />
       <label for="email">Email :</label><input type="text" id="email" />
       <label><INPUT TYPE="submit" VALUE="Envoyer" ></label>
  </fieldset>
</form>


Ma partie PHP, que j'ai mis dans le <body> :
<?php
$TO = "xxx@gmail.com";

$h = "From: " . $TO;

$message = "";

while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}

mail($TO, $subject, $message, $h);

Header("Location: http://localhost/sfp/fr/");

?>


Voilà, je m'arrache les cheveux.
Quelqu'un pourrait-il m'aider ?
Si mon code est correct alors il y a quelque chose à changer dans les parametres PHP peut-être ?
Autant je connais XHTML, autant le PHP....

MERCI INFINIMENT
Ajouter un commentaire
Réponse
+3
moins plus
Bonjour,
Merci pour les réponses qui m'ont bien aidées mais j'ai un petit soucis.

Voila mon code Form.html :

<form method=POST action=formmail.php >
<input type=hidden name=subject value=formmail>
<table>
<tr><td>Votre Nom:</td>
<td><input type=text name=realname size=30></td></tr>
<tr><td>Votre Prénom:</td>
<td><input type=text name=email size=30></td></tr>
<tr><td>Votre Adresse:</td>
<td><input type=text name=title size=30></td></tr>
<tr><td>Votre Ville:</td>
<td><input type=text name=title size=30></td></tr>
</td></tr>
</table>
<br> <input type=submit value=Envoyer> -
<input type=reset value=Annuler>
</form>

Et mon code formmail.php

<?php
$T0 = "adresse@email.com";

$h = "From: " . $TO;

$message = "";

while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}

mail($TO, $subject, $message, $h);

Header("Location: index.html");

?>


Le probleme est que quand on appuie sur envoyer, c'est ma page formail.php qui s'ouvre, et non pas index.html .
Je ne comprend pas... Help svp :)
greg1804- 9 nov. 2011 à 12:16
Bonjour
j'ai le même pb c'est la page formmail.php qui s'ouvre
pouvez vous m'aidez svp
Ajouter un commentaire
Réponse
+2
moins plus
Salut
je suis un peu géné d'avoir poster ce message
ton post était tres tres claire
je suis officielement un gros noob
merci d'avoir repondu assi vite xD
(j'ai un peu honte de l'avouer mais le pb était qu il y avai encore l'entete d'html en haut de la page php)
encore desolé

merci beaucoup pour ton post qui m a bcp aidé
Ajouter un commentaire
Réponse
+2
moins plus
oui, biensur, voilà mon code :

<body>
<div id="bandeau">
<?php
include"Bandeau.php";
?>
</div>
<table class="tablemat" border="0" align="left" >
<tr>
<td><form name="form_coordonnees" method="post" action="Reserver.php">
<font size="5">Ville de départ :
<input type="text" name="zs_ville_dep size="20"> <br><br>
Type/Catégorie de véhicule :
<p>
<select name="type"size="1">
<option selected value=1>Type
<option value=2>Tourisme
<option value=3>Utilitaire
</select>
</p>
<p>
<select name="categorie"size="1">
<option selected value=1>Catégorie
<option value=2>Catégorie 1 type Clio
<option value=3>Catégorie 2 type Laguna
<option value=4>Catégorie 3 type Kangoo
<option value=5>Catégorie 4 type Master 10 m3
<option value=6>Catégorie 5 type Master 20 m3
</select>
</p><br>
Date de location : <br>
du <input type="text" name="zs_date_deb" size="20"> à <input type="text" name="zs_heure_deb" size="20"> <br>
au <input type="text" name="zs_date_fin" size="20"> à <input type="text" name="zs_heure_fin" size="20"> <br><br>
Nombre de kilomètres approximatifs :
<input type="text" name="zs_kil" size="20"> <br><br>
Identité :
<p>
<select name="civilite"size="1">
<option selected value=1>Mr, Mme, Melle
<option value=2>Monsieur
<option value=3>Madame
<option value=4>Mademoiselle
</select>
</p>
Nom :
<input type="text" name="zs_nom" size="20">
Prénom :
<input type="text" name="zs_prenom" size="20"> <br><br>
Rue :
<input type="text" name="zs_rue" size="20">
Code postal :
<input type="text" name ="zs_cp" size="20"> <br><br>
Ville :
<input type="text" name="zs_ville" size="20"> <br><br>
Numéro de téléphone :
<input type="text" name="zs_tel" size="20">
Mobile (facultatif) :
<input type="text" name="zs_mobile" size="20"> <br><br>
Adresse e-mail (facultative) :
<input type="text" name="zs_mail" size="20">
<p><a href="mailto:zs_mail?subject=commentaires site"><input type="submit" value="Réserver"></a></p>
<input type="reset" value="Annuler"><br><br>
Attention, n'oubliez pas d'apporter les documents nécessaires le jour de la location.
<td><img src="Images/Logo.bmp"></td></font>
</form>
</tr>
</table>
</body>
</html>
Ajouter un commentaire
Réponse
+2
moins plus
Comme on fait aps les formulaire pareil, je ne suis pas sur du tout mais essaye comme sa :

<body>
<div id="bandeau">
<?php
include"Bandeau.php";
?>
</div>
<table class="tablemat" border="0" align="left" >
<tr>
<td><form name="form_coordonnees" method="post" action="Reserver.php">
<input type=hidden name=subject value=formmail>
<font size="5">Ville de départ :
<input type="text" name="zs_ville_dep size="20"> <br><br>
Type/Catégorie de véhicule :
<p>
<select name="type"size="1">
<option selected value=1>Type
<option value=2>Tourisme
<option value=3>Utilitaire
</select>
</p>
<p>
<select name="categorie"size="1">
<option selected value=1>Catégorie
<option value=2>Catégorie 1 type Clio
<option value=3>Catégorie 2 type Laguna
<option value=4>Catégorie 3 type Kangoo
<option value=5>Catégorie 4 type Master 10 m3
<option value=6>Catégorie 5 type Master 20 m3
</select>
</p><br>
Date de location : <br>
du <input type="text" name="zs_date_deb" size="20"> à <input type="text" name="zs_heure_deb" size="20"> <br>
au <input type="text" name="zs_date_fin" size="20"> à <input type="text" name="zs_heure_fin" size="20"> <br><br>
Nombre de kilomètres approximatifs :
<input type="text" name="zs_kil" size="20"> <br><br>
Identité :
<p>
<select name="civilite"size="1">
<option selected value=1>Mr, Mme, Melle
<option value=2>Monsieur
<option value=3>Madame
<option value=4>Mademoiselle
</select>
</p>
Nom :
<input type="text" name="zs_nom" size="20">
Prénom :
<input type="text" name="zs_prenom" size="20"> <br><br>
Rue :
<input type="text" name="zs_rue" size="20">
Code postal :
<input type="text" name ="zs_cp" size="20"> <br><br>
Ville :
<input type="text" name="zs_ville" size="20"> <br><br>
Numéro de téléphone :
<input type="text" name="zs_tel" size="20">
Mobile (facultatif) :
<input type="text" name="zs_mobile" size="20"> <br><br>
Adresse e-mail (facultative) :
<input type="text" name="zs_mail" size="20">
<p><a href="mailto:zs_mail?subject=commentaires site"><input type="submit" value="Réserver"></a></p>
<input type="reset" value="Annuler"><br><br>
Attention, n'oubliez pas d'apporter les documents nécessaires le jour de la location.
<td><img src="Images/Logo.bmp"></td></font>
</form>
</tr>
Ajouter un commentaire
Réponse
+2
moins plus
ok ben merci, tiens moi au courant stp.
Ajouter un commentaire
Réponse
+2
moins plus
c'est facile :

<?php

$to = "$to";

$from = "$from";

$subject = "$subject";

$message = "$message";

mail($to, $subject, $message, $from);

?>
Ajouter un commentaire
Réponse
+1
moins plus
salut a tous,
plus particulierement m1602 xD
je viens de trouver ton post qui marche effectivement bien
mais j'ai un petit souci, je suis tres debutant et je ne comprend pas vraiment comment dans le code php que tu as fait tu rediriges vers une autre page apres avoir cliqué sur envoyer
parce que quand je reprends ton code, cela me met un warning :
Warning: Cannot modify header information - headers already sent by (output started at /homez.56/hebergem/******/formmail.php:9) in /homez.56/hebergem/*****/formmail.php on line 22

merci de ta reponse
(meme si ma question peu paraitre stupide)
Ajouter un commentaire
Réponse
+1
moins plus
de rien, t'inquiète pas c'est normal de faire des erreur c'est comme sa qu'on apprend =)
Ajouter un commentaire
Réponse
+1
moins plus
Bonjour,
je suis en train de créer un site pour une entreprise.
J'ai créer un formulaire pour passer une réservation, quand je clique sur "Réserver", ça me dirige vers la page demandée mais je ne reçois pas de mail à mon adresse. Volà mon script :

<?php
$TO = "monadresse@yahoo.fr";
$h = "From:" . $TO;
$message = "";
while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
Header("Location: pagedemandée");
?>

Si quelqun pourrait m'aider ça serait cool.
Merci d'avance.
anonime - 3 août 2010 à 21:48
Je ne sais pas pourquoi mais moi aussi quand je mettais une adresse yahoo je ne recevais rien, donc change d'adresse mail. Amicalement
maverick - 23 mai 2011 à 16:55
essaye d'enlever les espace en trop !
Ajouter un commentaire
Réponse
+1
moins plus
Je peut voir le code du formulaire ? car je pense que çelà vient de ton formulaire
Ajouter un commentaire
Réponse
+1
moins plus
Merci beaucoup mais ça ne marche toujours pas.
J'essayerai de demander à des personnes qui font les formulaires comme moi ;)
Merci encore.
Ajouter un commentaire
Réponse
+1
moins plus
sinn si tu veut, je peut te refaire le même formulaire mais en fesant le code à ma manière ... Mais bon sa serait mieux si on arrivait à trouver le problême à partir du tien
Ajouter un commentaire
Réponse
+1
moins plus
Je croit avoir vu une petite erreur, je ne sais pas si elle est la cause de ton problême mais essaye comme sa ( et tu est sur que ta page Reserver.php s'écrit avec une maj ? si non faudra le modif si oui bah ... tu m'apprend quelque chose je savais pas que c'était possible :p ):

<body>
<div id="bandeau">
<?php
include"Bandeau.php";
?>
</div>
<table class="tablemat" border="0" align="left" >
<tr>
<td><form name=form_coordonnees" method=POST action=Reserver.php>
<input type=hidden name=subject value=formmail>
<font size="5">Ville de départ :
<input type="text" name="zs_ville_dep size="20"> <br><br>
Type/Catégorie de véhicule :
<p>
<select name="type"size="1">
<option selected value=1>Type
<option value=2>Tourisme
<option value=3>Utilitaire
</select>
</p>
<p>
<select name="categorie"size="1">
<option selected value=1>Catégorie
<option value=2>Catégorie 1 type Clio
<option value=3>Catégorie 2 type Laguna
<option value=4>Catégorie 3 type Kangoo
<option value=5>Catégorie 4 type Master 10 m3
<option value=6>Catégorie 5 type Master 20 m3
</select>
</p><br>
Date de location : <br>
du <input type="text" name="zs_date_deb" size="20"> à <input type="text" name="zs_heure_deb" size="20"> <br>
au <input type="text" name="zs_date_fin" size="20"> à <input type="text" name="zs_heure_fin" size="20"> <br><br>
Nombre de kilomètres approximatifs :
<input type="text" name="zs_kil" size="20"> <br><br>
Identité :
<p>
<select name="civilite"size="1">
<option selected value=1>Mr, Mme, Melle
<option value=2>Monsieur
<option value=3>Madame
<option value=4>Mademoiselle
</select>
</p>
Nom :
<input type="text" name="zs_nom" size="20">
Prénom :
<input type="text" name="zs_prenom" size="20"> <br><br>
Rue :
<input type="text" name="zs_rue" size="20">
Code postal :
<input type="text" name ="zs_cp" size="20"> <br><br>
Ville :
<input type="text" name="zs_ville" size="20"> <br><br>
Numéro de téléphone :
<input type="text" name="zs_tel" size="20">
Mobile (facultatif) :
<input type="text" name="zs_mobile" size="20"> <br><br>
Adresse e-mail (facultative) :
<input type="text" name="zs_mail" size="20">
<p><a href="mailto:zs_mail?subject=commentaires site"><input type="submit" value="Réserver"></a></p>
<input type="reset" value="Annuler"><br><br>
Attention, n'oubliez pas d'apporter les documents nécessaires le jour de la location.
<td><img src="Images/Logo.bmp"></td></font>
</form>
</tr>
Ajouter un commentaire
Réponse
+1
moins plus
la je voit pas dsl ... tu as bien pensé à modifier les info de ta page

Reserver.php :

<?php
$TO = "monadresse@yahoo.fr";
$h = "From:" . $TO;
$message = "";
while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
Header("Location: pagedemandée");
?>
Ajouter un commentaire
Réponse
+1
moins plus
c pas grave. Je verrais comment je peux arranger ça.
Je ne vois pas de différence entre le code que tu m'as envoyé et le mien ? c normal ?
Ajouter un commentaire
Réponse
+1
moins plus
oui c'est normal, il n'y as pas de différence, je te demande juste si dnas cette page ( Reserver.php ) tu as bien pensé à changer l'adresse e-mail et la page de redirection
Ajouter un commentaire
Réponse
+1
moins plus
pourquoi changer ? remplacer par quoi ? Par mon adresse mail et ma page de redirection ? Si c'est ça, oui j'ai changer.
Ajouter un commentaire
Ce document intitulé « Script pour envoi formulaire vers mail » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
Script pour envoi formulaire vers mail - page 2