Accueil > Forum > > > > mise en forme email retour formulaire
mise en forme email retour formulaire
mardi 1 juin 2010 à 14:15:12 |
mise en forme email retour formulaire

seclaud3
|
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)
|
|
mardi 1 juin 2010 à 14:35:17 |
Re : mise en forme email retour formulaire

Zut13
|
Coucou,
Le formulaire serait utile je pense.
Et le $HTTP_POST_VARS va falloir le virer pour un $_POST['tavariable']
@('(°)_(°) )@
/FONT>
|
|
mardi 1 juin 2010 à 19:44:18 |
Re : mise en forme email retour formulaire

seclaud3
|
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).
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- InstanceBeginEditable name="head" -->
<script src="SpryAssets/SpryValidationTextarea.js" type="text/javascript"></script>
<script src="SpryAssets/SpryValidationTextField.js" type="text/javascript"></script>
<script type="text/javascript">
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<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' doit contenir une adresse email valide.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' est obligatoire.\n'; }
} if (errors) alert('Les erreurs suivantes ont été détectées:\n'+errors);
document.MM_returnValue = (errors == '');
} }
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
<link href="SpryAssets/SpryValidationTextarea.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<p><span class="titre">Contacts</span><br />
</p>
<form action="envoi.php" method="post" name="form4" id="form4" onsubmit=
"MM_validateForm('société','','R','nom','','R','prénom','','R','telephone','','R','Email','','RisEmail','code postal','','R','ville','','R');return document.MM_returnValue">
<p> </p>
<p>
<input name="potentiel" type="checkbox" id="potentiel" value="potentiel de vieillissement" />
Vous souhaitez connaître le potentiel de vieillissement de votre parc d’engins </p>
<p>
<input name="responsabilite" type="checkbox" id="responsabilite" value="niveau de responsabilite" />
Vous souhaitez évaluer le niveau de responsabilité que vous prenez en prolongeant l’activité d’un engin</p>
<p>
<input name="maintenance" type="checkbox" id="maintenance" value="plan de maintenance" />
Vous souhaitez mettre en place un plan de maintenance adapté au degré de fatigue de vos engins</p>
<p>
<input name="diagnostic" type="checkbox" id="diagnostic" value="diagnostic de vieillissement" />
Vous souhaitez compléter les diagnostics d’état de conservation que vous réalisez couramment par un diagnostic d’état de vieillissement en fatigue</p>
<p>
<input name="fissuration" type="checkbox" id="fissuration" value="vieillissement invisible" />
Vous connaissez le vieillissement visible des structures métalliques de vos engins et souhaitez connaître le vieillissement invisible notamment les risques de fissuration des assemblages soudés</p>
<p>Transmettez nous svp quelques caractéristiques techniques ainsi que vos coordonnées:</p>
<p> <span id="sprytextarea1"> Votre message:<br />
<textarea name="message" cols="90" rows="5" class="liste" id="message"></textarea>
<span id="countsprytextarea1"> </span><span class="textareaRequiredMsg">Une valeur est requise.</span><span class="textareaMinCharsMsg">Nombre minimal de caractères non atteint.</span><span class="textareaMaxCharsMsg">Le nombre maximum de caractères a été dépassé.</span></span> </p>
<p>
<label>Civilité
<select name="civilite" class="liste" id="civilite">
<option value="Mme">Madame</option>
<option value="Mlle">Mademoiselle</option>
<option value="Mr" selected="selected">Monsieur</option>
</select>
</label>
</p>
<p>
<label>Société<span class="TexteRouge">*</span>
<input name="societe" type="text" class="liste" id="societe" value="" size="45" />
</label>
</p>
<p>
<label>Nom<span class="TexteRouge">*</span>
<input name="nom" type="text" class="liste" id="nom" value="" size="45" />
</label>
</p>
<p>
<label>Prénom<span class="TexteRouge">*</span>
<input name="prenom" type="text" class="liste" id="prenom" value="" size="40" />
</label>
</p>
<p>Téléphone<span class="TexteRouge">*</span><span id="sprytextfield2">
<label>
<input name="telephone" type="text" class="liste" id="telephone" size="20" />
</label>
</span></p>
<p>
<label>Email<span class="TexteRouge">*</span>
<input name="Email" type="text" class="liste" id="Email" value="" size="40" />
</label>
</p>
<p>
<label>Code Postal<span class="TexteRouge">*</span>
<input name="code postal" type="text" class="liste" id="code postal" value="" size="20" maxlength="5" />
</label>
Ville<span class="TexteRouge">*</span><span id="sprytextfield3">
<label>
<input name="ville" type="text" class="liste" id="ville" size="40" />
</label>
</span></p>
<p> </p>
<p> <span class="TexteRouge">* champ obligatoire</span></p>
<p class="liste"> </p>
<p class="liste"><span class="PetitTexte">Ces informations sont destinées à AQUASS. Nous pouvons être amenés à utiliser ces informations à des fins de prospection.</span></p>
<p>
<label><span class="PetitTexte">Si vous ne le souhaitez pas, cochez la case ci-contre:</span>
<input type="checkbox" name="confidentialite" id="confidentialite" />
</label>
</p>
<p class="liste"><span class="PetitTexte">Vous disposez d'un droit d'accès, de modification, de rectification et de suppression des données vous concernant (loi « Informatique et Libertés » du 6 janvier 1978). Pour toute demande, adressez-vous à : Société xxx</span></p>
<p><span class="liste">
<input name="envoyer" type="submit" class="liste" id="envoyer" value="Envoyer" />
</span></p>
</form>
</body>
<!-- InstanceEnd --></html>
voilà, j'espère ne pas avoir coupé d'élément essentiel. le formulaire quant à lui semble fonctionner correctement.
|
|
mercredi 2 juin 2010 à 11:02:31 |
Re : mise en forme email retour formulaire

seclaud3
|
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.
|
|
Cette discussion est classée dans : formulaire, case, email, forme, retour
Répondre à ce message
Sujets en rapport avec ce message
Mini formulaire... [ par lard ]
Bonjour,Je débute en PHP donc soyez indulgent....Voici ma demande:Sur une page Web, je voudrais que les utilisateurs puissent entrer leurs adresses Em
récupérer automatiquement un adresse email dans un formulaire envoyé en php3 [ par motosbikes ]
Bonjour, quelqu'un pourrait il me dire comment faire pour récupérer automatiquement l'adresse email d'une personne qui valide un formulaire envoyé sur
Problème avec un formulaire tout simple !! [ par adys ]
G un pb avec un formulaire bidon, c'est à dire k'il n'y a k'une listbox et une case à cocher (et un bouton submit evidemment).je voudrais que le formu
Gestion d'erreur dans un formulaire [ par pihouit ]
Bonjour,Voici le code que j'utilise pour vérifier ma variable :if($ceciestlepseudo==""){echo "Vous devez choisir un pseudo<a
formulaire en email vers deux adresses [ par metis15 ]
Bonjour,toujours ce script qui se termine comme ça pour m'envoyer le formulaire par mail :$recipient = "moi@wanadoo.fr";$subject = "FormulaireGT";$mai
Probleme de formulaire et de variable a reccuperer ds un case [ par Fantomas33 ]
Bonjour,Sur ma page j'ai un case. L'action par défaut est de valider le formulaire, l'autre cas est l'action voulue. Voici mon code : switch($v
prob de retour à la ligne....lol [ par FleX ]
Alors voila :Je rentre mon texte dans une case texte, la case texte a l'option wrap et est multiligne.Apres, quand j'affiche ce string dans une case t
AIDEZ MOI !!! Formulaire et Email [ par xevslipknot ]
XeVsLiPkNoTJ'aimerai savoir un trucG fai mon formulaire htmlJe recupere les valeur sur une autre page en phpMais j'aimerai aussi les recuperer en mail
Mail et formulaire [ par Jackboy ]
J'aimerai créer un formulaire, assez complexe (pas seulement email, nom, message,...) et j'aimerai avoir ce formulaire envoyer dans un email et format
formulaire pour e-mail invisible [ par pyranhaz ]
Bonjour,Je cherche à élaborer un formulaire php afin que les clients de mes petites annonces puissent envoyer leur réponse sans connaître le e-mail du
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft 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
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
|