Mise en forme email retour formulaire

seclaud3 Messages postés 3 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 2 juin 2010 - 1 juin 2010 à 14:15
seclaud3 Messages postés 3 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 2 juin 2010 - 2 juin 2010 à 11:02
bonjour,
je suis ultra débutant en php. j'ai construit un formulaire avec Dreamweaver CS4 et je veux récupérer les données par la fonction mail() en PHP. j'ai récupéré des bouts de code sur le net et ça fonctionne tant bien que mal: je reçois bien les réponses et les visiteurs sont bien redirigés sur une page de remerciement. toutefois, les champs ne sont pas toujours mis en forme comme je le souhaiterais, c'est à dire un par ligne. les premiers items du formulaire sont 5 cases à cocher: si le visiteur coche 0 case ou bien la case 1 ou la case 5, l'email de retour a bien 1 variable par ligne. s'il coche la case 2, 3 ou 4, toutes les variables sont à la file dans l'email que je reçois.
il y a sans doute une erreur évidente pour un utilisateur chevronné. si une bonne âme voulait bien se pencher sur la question et au passage me signaler d'autres anomalies qui doivent probablement exister, ça me rendrait grand service.
voici le code du fichier PHP:

"<?php

$headers = "MIME-Version: 1.0\r\n";

$headers .= "Content-type: text/html; charset=utf-8\r\n";

$TO = "mon.email@free.fr";
$subject = "contact via le site";


$Email= $_POST['Email'];
$nom= $_POST['nom'];
$prenom= $_POST['prenom'];

$headers .= "From: $prenom $nom<$Email>" . "\r\n";


$h = "From: $Email" ;

$message = "";

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

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

Header("Location: http://www.monsite.fr/merci.html");

?>"

merci d'avance.(si le formulaire est nécessaire, je le mettrai dans un autre envoi)

3 réponses

Zut13 Messages postés 50 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 14 novembre 2011
1 juin 2010 à 14:35
Coucou,
Le formulaire serait utile je pense.

Et le $HTTP_POST_VARS va falloir le virer pour un $_POST['tavariable']


@('(°)_(°) )@
/FONT>
0
seclaud3 Messages postés 3 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 2 juin 2010
1 juin 2010 à 19:44
merci pour cette réponse très rapide, qui m'a pris de vitesse. j'avais pensé à détailler les variables comme tu le suggères, mais comme ça semblait marcher, je m'étais économisé des lignes de code et donc des sources d'erreur. je testerai ça tout à l'heure. je mets ci-dessous le formulaire abrégé (il y a autre chose sur la même page).








function MM_validateForm() { //v4.0
if (document.getElementById){
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i
0
seclaud3 Messages postés 3 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 2 juin 2010
2 juin 2010 à 11:02
désolé d'insister mais la réponse de Zut13 est un peu trop lapidaire pour un néophyte comme moi. je n'ai pas su comment remplacer le $HTTP_POST_VARS par $_POST['tavariable'] . mes essais se sont traduits par des syntax errors. j'aurais besoin d'un exemple, si ce n'est pas trop demander.
merci pour votre aide.
0
Rejoignez-nous