Tom's Guide > Forum > Programmation > Renvoyé tous les champs du formulaire au mail de destination

Renvoyé tous les champs du formulaire au mail de destination

Forum Programmation : Renvoyé tous les champs du formulaire au mail de destination

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

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 :

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



Merci.

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

salut,
je comprends pas bien, qu'est ce qui t'empeche de rajouter les autres champs?

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

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.

Répondre à jpp13

tu les rajoutes dans $body puisque c'est le corps du mail (le contenu qui sera envoyé)

et vire moi le @ devant mail() bordel ! :)

Répondre à okinou

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

 

donc je dois mettre ca :

 
Code :
  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.


Message édité par jpp13 le 13-06-2007 à 12:25:03
Répondre à jpp13

wordwrap rajoute un retour à la ligne
si tu fais:
a=1
a=4
a=6
à ton avis, combien vaudra a?

concatenation
wordwrap

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

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

Répondre à okinou

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.

Répondre à jpp13

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+


Message édité par okinou le 13-06-2007 à 13:57:06
Répondre à okinou

OK vu comme ca ...

Répondre à jpp13
Tom's Guide > Forum > Programmation > Renvoyé tous les champs du formulaire au mail de destination
Aller à :

Il y a 325 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens