Se connecter avec
S'enregistrer | Connectez-vous

Renvoyé tous les champs du formulaire au mail de destination

Dernière réponse : dans Programmation

N'ayant pas de réponses, je suppose que la page que j'ai mise est trop grande.

Je vous met juste la partie que j'ai modifié et la partie qui renvoie pour l'instant uniquement le message, et moi je souhaite renvoyé tous les champs au mail de destination mais je sais pas comment :

  1. <form method="post" accept-charset="utf-8" action="<?php echo $_SERVER["REQUEST_URI"]; ?>">
  2. <p class="field"><label for="intitule_expediteur">Vous êtes:</label>
  3. <input type="text" size="40" name="intitule_expediteur" id="intitule_expediteur" value="<?php
  4. if (!empty($_POST["intitule_expediteur"])) {
  5. //
  6. echo htmlspecialchars($_POST["intitule_expediteur"],ENT_QUOTES);
  7. }
  8. ?>"/>
  9. (exemple : Monsieur)
  10.  
  11. <p class="field"><label for="email_expediteur">Votre adresse e-mail :</label>
  12. <input type="text" size="40" name="email_expediteur" id="email_expediteur" value="<?php
  13. if (!empty($_POST["email_expediteur"])) {
  14. // l'adresse email de l'expéditeur a été saisie: la réafficher
  15. echo htmlspecialchars($_POST["email_expediteur"],ENT_QUOTES);
  16. }
  17. ?>" />
  18. (requis)</p>
  19.  
  20. <p class="field"><label for="nom_expediteur">Votre nom :</label>
  21. <input type="text" size="40" name="nom_expediteur" id="nom_expediteur" value="<?php
  22. if (!empty($_POST["nom_expediteur"])) {
  23. // l'adresse email de l'expéditeur a été saisie: la réafficher
  24. echo htmlspecialchars($_POST["nom_expediteur"],ENT_QUOTES);
  25. }
  26. ?>" />
  27. (requis)</p>
  28.  
  29. <p class="field">
  30. <label for="prenom_expediteur">Votre prénom :</label>
  31. <input type="text" size="40" name="prenom_expediteur" id="prenom_expediteur" value="<?php
  32. if (!empty($_POST["prenom_expediteur"])) {
  33. // l'adresse email de l'expéditeur a été saisie: la réafficher
  34. echo htmlspecialchars($_POST["prenom_expediteur"],ENT_QUOTES);
  35. }
  36. ?>" />
  37. </p>
  38.  
  39. <p class="field">
  40. <label for="psociete_expediteur">Société :</label>
  41. <input type="text" size="40" name="societe_expediteur" id="societe_expediteur" value="<?php
  42. if (!empty($_POST["societe_expediteur"])) {
  43. // l'adresse email de l'expéditeur a été saisie: la réafficher
  44. echo htmlspecialchars($_POST["societe_expediteur"],ENT_QUOTES);
  45. }
  46. ?>" />
  47.  
  48. </p>
  49. <p class="field"><label for="titre">Titre du message :</label>
  50. <input type="text" size="40" name="titre" id="titre" value="<?php
  51. if (!empty($_POST["titre"])) {
  52. // le titre du message a été saisi: le rafficher
  53. echo htmlspecialchars($_POST["titre"],ENT_QUOTES);
  54. }
  55. ?>" />
  56. </p>
  57. <p class="field"><label for="message">Votre message :</label>
  58. <textarea name="message" id="message" cols="30" rows="6"><?php
  59. if (isset($_POST["message"])) {
  60. // le message a t saisi: le rafficher
  61. echo htmlspecialchars($_POST["message"],ENT_QUOTES);
  62. }
  63. ?></textarea></p>
  64. <p><input type="submit" name="envoyer" value="Envoyer" />
  65. </p>
  66. </form>
  67. <?php
  68. }
  69. else {
  70. // le formulaire a ete soumis sans erreur, on envoie le mail
  71. $entete = "From: \"{$_POST["nom_expediteur"]}\" <{$_POST["email_expediteur"]}>\n";
  72. $entete .= "MIME-Version: 1.0\n";
  73. $entete .= "Content-Type: text/plain; charset=\"utf-8\"\n";
  74. $entete .= "Content-Transfer-Encoding: 8bit\n";
  75. // Optionnel mais bien utile : garder trace de l'IP de l'expéditeur
  76. $entete .= "X-Originating-IP: " . $_SERVER['REMOTE_ADDR'];
  77.  
  78. // Encode le sujet en BASE64
  79. $subject = "=?utf-8?B?" . base64_encode($_POST["titre"]) . "?=";
  80.  
  81. // wrappe à 75 caractères le corp du message, afin de rester conforme avec l'usage...
  82. // juste un bug : wordwrap ne comprends pas les caractères multi-bytes d'UTF-8
  83. // mais en première approximation, c'est suffisant
  84. $body = wordwrap($_POST['message'], 78);
  85.  
  86. if (@mail($email_webmaster, $subject, $body, $entete)){
  87. // lorsque le mail aete envoye afficher un message de confirmation et proposer un lien pour revenir a l'accueil
  88. // modifiez le lien de retour en fonction de votre url
  89. echo "<p>Votre mail a été envoyé <br /><br /> ";
  90. echo "Vous allez être redirigé sur la page d'accueil dans 4 secondes <br/><meta http-equiv=\"refresh\" content=\"4;URL=<a href="http://www.adresse.fr" target="_blank">http://www.adresse.fr</a>";
  91. }
  92. else {
  93. // s'il s'est produit une erreur lors de l'envoi du mail, on le signale et on propose de retourner au formulaire
  94. echo "Un probleme s'est produit lors de l'envoi du message.\n";
  95. echo "<a href=\"".$_SERVER["REQUEST_URI"]."\">Reessayez...</a>\n";
  96. }
  97. }
  98. ?>


Merci.
Lassé par la pub ? Créez un compte

Je sais pas comment les rajouter justement, je l'ai affiche mais comment je peux les recuperer ?

C'est un formulaire que j'ai recuperer et modifier selon mes besoins mais j'ai reussi juste à afficher les champs comme je voulais.

Maintenant je veux renvoyer les valeurs de ces champs.

Merci.

Ok Okinou, je l'ai enlevé, j'espere que ca marchera toujours, car je débute en php :

donc je dois mettre ca :

  1. $body = wordwrap($_POST['intitule_expediteur']);
  2. $body = wordwrap($_POST['email_expediteur']);
  3. $body = wordwrap($_POST['nom_expediteur']);
  4. $body = wordwrap($_POST['prenom_expediteur']);
  5. ...
  6. $body = wordwrap($_POST['message'], 78);


Le 78 pour le message il sert à quoi en fait ?

Merci.
Expert Programmation

Wordwrap te créer un retour à la ligne tous les x caractères mais en te le faisant par "mot" voir le lien de coca,
sinon

# $body = wordwrap($_POST['intitule_expediteur']);
# $body = wordwrap($_POST['email_expediteur']);
# $body = wordwrap($_POST['nom_expediteur']);
# $body = wordwrap($_POST['prenom_expediteur']);

Ca sert à rien ! il suffit pas de copier/coller, faut se renseigné un minimum ;p

le @ devant la fonction mail permettra de débeugé plus facilement l'erreur retourné en cas d'echec d'envoi du mail (ex probleme de serveur smtp etc) alors qu'avant cette modifie cela t'aurais juste retourné : erreur pendant l'envoie, c'est bien joli mais comment tu en aurais su la cause ? en jouant au devinette ? :p 

ouai fin bref je demande pas un cours, je veux juste savoir ce que je dois mettre... Surtout si vous le savez ! :p 

Sinon je sens que ca va m'enerver cette histoire de php :/ 

Merci de vos remarques quand même.
Expert Programmation

Démerde toi. Les explications sont faites pour êtres comprises et savoir ce que l'on fait, meme quand on copie betement un code ...
Oui je sais comment faire.
Maintenant cela ne sert à rien que l'on te corrige et t'expliques si tu ne veux pas apprendre. Il faut pas attendre que cela te tombe tout cuit dans le bec.

a+
Lassé par la pub ? Créez un compte
Tom's guide dans le monde