Votre question

récupération de variables envoyés en plusieurs mails

Tags :
  • Syntaxe
  • Programmation
Dernière réponse : dans Programmation
7 Octobre 2005 13:19:52

bonjour a tous.

j'ai crée un formulaire de demande de renseignements sur un site... rien de bien compliqué en soi. Les variables sont correctement récupérées et envoyées sur mon adresse mail. Le problème est que dans le formulaire il y a 7 champs, donc 7variables, et que je les recois sur ma boite en 7mails différents. Je sais que c'est assez idiot et que la solution ne doit pas etre bien compliquée mais là je cale vraiment sur la question.

voilà le code.....

  1. <?php
  2. $MailTo="wytshenriette@hotmail.com";
  3. $MailSubject="renseignement-formulaire";
  4. $MailHeader="From:formulaire.mail.value";
  5.  
  6.  
  7. /*** déclarations de variables ***/
  8. $nom=$_POST['nom'];
  9. $adresse=$_POST['adresse'];
  10. $codepost=$_POST['codepost'];
  11. $ville=$_POST['ville'];
  12. $tel=$_POST['tel'];
  13. $mail=$_POST['mail'];
  14. $text=$_POST['text'];
  15.  
  16. $envoi=1;
  17.  
  18. /*** saisie du champs nom ***/
  19.  
  20. if($nom!=="")
  21. {
  22. $envoi=1;
  23. $MailBody[0]=$nom;
  24. }
  25. /***les 7 champs sont traités de cette manière***/
  26.  
  27. /*** envoi des données **/
  28.  
  29. if($envoi=1)
  30. {
  31. for($i=0;$i<7;$i++)
  32. {
  33. mail($MailTo,$MailSubject,$MailBody[$i],$MailHeader);
  34. }
  35. print('votre message a bien été enregistré');
  36.  
  37. }
  38.  
  39. ?>


Quelqu'un serait-il en mesure de me donner un petit coup de pouce pour m'aider a débloquer ce problème...

Merci

Autres pages sur : recuperation variables envoyes plusieurs mails

7 Octobre 2005 14:00:33

tu appelles 7 fois la fonction mail, donc c'est logique.
il ne faut l'envoyer qu'une fois.

  1. <?php
  2. $MailTo="wytshenriette@hotmail.com";
  3. $MailSubject="renseignement-formulaire";
  4. $MailHeader="From:formulaire.mail.value";
  5.  
  6.  
  7. /*** déclarations de variables ***/
  8. $nom=$_POST['nom'];
  9. $adresse=$_POST['adresse'];
  10. $codepost=$_POST['codepost'];
  11. $ville=$_POST['ville'];
  12. $tel=$_POST['tel'];
  13. $mail=$_POST['mail'];
  14. $text=$_POST['text'];
  15. // la variable envoi te sert eventuellement pour traiter le cas ou il y a un probleme
  16. $envoi=0;
  17.  
  18. if($nom!='') {
  19. // pour la presence des accolades voir le lien syntaxe complexe en dessous
  20. $MailBody=" nom : {$nom}\r\n adresse : {$adresse}\r\n {$codepost} {$ville}\r\n tel : {$tel}\r\n email : {$mail} \r\n\r\n {$text}";
  21. // si l'envoi de mail echoue envoie vaut 0
  22. $envoi= mail($MailTo,$MailSubject,$MailBody,$MailHeader);
  23. }
  24. if($envoi) {
  25. print('votre message a bien été enregistré');
  26. }
  27. ?>


* syntaxe complexe
7 Octobre 2005 14:04:11

Salut,
C'est normal que tu recois 7mails puis tu fais 7 fois la fonction mail :) 


Essaye plutot au lieu de faire une boucle de concatener t variables :) 

du genre mail($MailTo,$MailSubject,$nom.$prenom.etc.....,$MailHeader);

Biensur plus besoin de cette boucles :)  et puis tu nes pas obligé de passer par des variables intermediaires, tu peux directement faire
mail($MailTo,$MailSubject,$_POST['nom'].$_POST['prenom'].etc...,$MailHeader);
Contenus similaires
7 Octobre 2005 14:05:10

bon rongeur ma grillé :D 
7 Octobre 2005 14:20:00

Je me doutais que l'erreur venais de là, mais je ne savais vraiment pas comment résoudre ca....

J'ai fait les changements et ca marche au poil, juste comme je voulais.

Merci beaucoup a vous tous.

:D anse:
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS