[Résolu] Envoyer par mail le résultat d'un formulaire fait en html

Envoyer par mail le résultat d'un formulaire fait en html [Résolu] - HTML/CSS - Programmation

Marsh Posté le 05-01-2007 à 18:32:40    

Bonjour à tous,
 
 
Je viens de créer un formulaire en html. J'ai donné un nom diffèrent à chacune des réponses possibles.
 
J'aimerais intégrer une fonction (javascript et php?) qui me permettrait d'envoyer le résultat des champs sélectionnés à un mail pré-défini.
 
Je nage complétement en javascript et en php, est ce que quelqu'un aurait la gentillesse de m'aider un petit peu ?
 
Merci.
 
 
Voilà mon code:

Code :
  1. <html>
  2. <head>
  3. <style>
  4. <!--
  5. p.MsoNormal
  6.     {mso-style-parent:"";
  7.     margin-bottom:.0001pt;
  8.     font-size:12.0pt;
  9.     font-family:"Times New Roman";
  10.     margin-left:0cm; margin-right:0cm; margin-top:0cm}
  11. li.MsoNormal
  12.     {mso-style-parent:"";
  13.     margin-bottom:.0001pt;
  14.     font-size:12.0pt;
  15.     font-family:"Times New Roman";
  16.     margin-left:0cm; margin-right:0cm; margin-top:0cm}
  17. -->
  18. </style>
  19. <title>Questionnaire de satisfaction</title>
  20. </head>
  21. <body>
  22. <h2 align="center">
  23. <span style="text-decoration: overline;">
  24.   <i>
  25.    <u>
  26.     <font size="7">
  27.      <img border="0" src="interrogation.gif" align="left" width="150" height="249">
  28.     </font>
  29.    </u>
  30.   </i>
  31. </span>
  32. </h2>
  33. <h2 align="center"> </h2>
  34. <h2 align="center"> </h2>
  35. <h2 align="center">
  36. <span style="text-decoration: overline;"><i><u>
  37. <font size="7" face="Comic Sans MS">Questionnaire de satisfaction</font></u></i></span></h2>
  38. <p align="center"> </p>
  39. <p align="left">    <font face="Comic Sans MS">Pour terminer, je vous propose de remplir un
  40. petit questionnaire pour donner votre appréciation concernant mon curriculum vitae.</font></p>
  41. <p align="left"> </p>
  42. <form method="POST" action="mailto:***********@*********.fr" enctype="text/plain" name="Questionnaire de satisfaction">
  43. <p class="MsoNormal" style="text-indent: -18.0pt; margin-left: 18.0pt">
  44. <i>
  45. <font face="Comic Sans MS" size="4">1)    <span dir="LTR"><u>Présentation</u> :</span></font></i></p>
  46. <p class="MsoNormal" style="text-indent: -18.0pt; margin-left: 18.0pt"> </p>
  47. <ul style="margin-top: 0cm; margin-bottom: 0cm" type="disc">
  48.   <li class="MsoNormal"><font face="Comic Sans MS">Je suis satisfait par la sobriété.</font></li>
  49. </ul>
  50. <p>
  51. <font face="Comic Sans MS">
  52. <input type="radio" name="11oui">Oui. 
  53. <input type="radio" name="11non">Non.</font></p>
  54. <ul style="margin-top: 0cm; margin-bottom: 0cm" type="disc">
  55.   <li class="MsoNormal"><font face="Comic Sans MS">La page de présentation annonce clairement le contenu.</font></li>
  56. </ul>
  57. <p>
  58. <font face="Comic Sans MS">
  59. <input type="radio" name="12oui">Oui. 
  60. <input type="radio" name="12non">Non.</font></p>
  61. <p class="MsoNormal"> </p>
  62. <p class="MsoNormal"> </p>
  63. <p class="MsoNormal"> </p>
  64. <p class="MsoNormal"><i><font face="Comic Sans MS" size="4">2)    <u>Page d’accueil</u> :</font></i></p>
  65. <p class="MsoNormal"> </p>
  66. <ul style="margin-top: 0cm; margin-bottom: 0cm" type="disc">
  67.   <li class="MsoNormal"><font face="Comic Sans MS">J’ai trouvé rapidement les informations que je
  68.   cherchais.</font></li>
  69. </ul>
  70. <p>
  71. <font face="Comic Sans MS">
  72. <input type="radio" name="21oui">Oui. 
  73. <input type="radio" name="21non">Non.</font></p>
  74. <ul style="margin-top: 0cm; margin-bottom: 0cm" type="disc">
  75.   <li class="MsoNormal"><font face="Comic Sans MS">Les informations ne se sont pas trop abondantes.</font></li>
  76. </ul>
  77. <p>
  78. <font face="Comic Sans MS">
  79. <input type="radio" name="22oui">Oui. 
  80. <input type="radio" name="22non">Non.</font></p>
  81. <p class="MsoNormal"> </p>
  82. <p class="MsoNormal"> </p>
  83. <p class="MsoNormal"> </p>
  84. <p class="MsoNormal"><i><font face="Comic Sans MS" size="4">3)    <u>Sommaire</u> :</font></i></p>
  85. <p class="MsoNormal"> </p>
  86. <ul style="margin-top: 0cm; margin-bottom: 0cm" type="disc">
  87.   <li class="MsoNormal"><font face="Comic Sans MS">Clarté des informations disponible sur le curriculum
  88.   vitae.</font></li>
  89. </ul>
  90. <p>
  91. <font face="Comic Sans MS">
  92. <select name="31" SIZE="4">
  93. <option selected>Très satisfaisante
  94. <option>Satisfaisante
  95. <option>Moyennement satisfaisante
  96. <option>Pas satisfaisante
  97. </select>
  98. </font></p>
  99. <p> </p>
  100. <ul style="margin-top: 0cm; margin-bottom: 0cm" type="disc">
  101.   <li class="MsoNormal"><font face="Comic Sans MS">Facilité d'accès aux informations
  102.   principales/essentielles. </font> </li>
  103. </ul>
  104. <p>
  105. <font face="Comic Sans MS">
  106. <select name="32" SIZE="4">
  107. <option selected>Très satisfaisante
  108. <option>Satisfaisante
  109. <option>Moyennement satisfaisante
  110. <option>Pas satisfaisante
  111. </select>
  112. </font></p>
  113. <p> </p>
  114. <ul style="margin-top: 0cm; margin-bottom: 0cm" type="disc">
  115.   <li class="MsoNormal"><font face="Comic Sans MS">Facilité de navigation.</font></li></ul>
  116. <p>
  117. <font face="Comic Sans MS">
  118. <select name="33" SIZE="4">
  119. <option selected>Très satisfaisante
  120. <option>Satisfaisante
  121. <option>Moyennement satisfaisante
  122. <option>Pas satisfaisante
  123. </select>
  124. </font></p>
  125. <p> </p>
  126. <ul style="margin-top: 0cm; margin-bottom: 0cm" type="disc">
  127.  
  128.   <li class="MsoNormal"><font face="Comic Sans MS">Interactivité des divers éléments.</font></li>
  129. </ul>
  130. <p>
  131. <font face="Comic Sans MS">
  132. <select name="34" SIZE="4">
  133. <option selected>Très satisfaisante
  134. <option>Satisfaisante
  135. <option>Moyennement satisfaisante
  136. <option>Pas satisfaisante
  137. </select>
  138. </font></p>
  139. <p> </p>
  140. <p class="MsoNormal"> </p>
  141. <p class="MsoNormal"><i><font face="Comic Sans MS" size="4">4)    <u>Esthétique</u> :</font></i></p>
  142. <p class="MsoNormal"> </p>
  143. <ul style="margin-top: 0cm; margin-bottom: 0cm" type="disc">
  144.   <li class="MsoNormal"><font face="Comic Sans MS">Impression générale.</font></li>
  145. </ul>
  146. <p>
  147. <font face="Comic Sans MS">
  148. <select name="41" SIZE="4">
  149. <option selected>Positive
  150. <option>Plutôt positive
  151. <option>Moyennement positive
  152. <option>Négative
  153. </select>
  154. </font></p>
  155. <p> </p>
  156. <ul style="margin-top: 0cm; margin-bottom: 0cm" type="disc">
  157.   <li class="MsoNormal"><font face="Comic Sans MS">Couleurs et fonds utilisés.</font></li>
  158. </ul>
  159. <p>
  160. <font face="Comic Sans MS">
  161. <select name="42" SIZE="4">
  162. <option selected>Bien assortis
  163. <option>Assortis
  164. <option>Moyennement assortis
  165. <option>Inappropriés
  166. </select>
  167. </font></p>
  168. <p> </p>
  169. <p class="MsoNormal"><i><font face="Comic Sans MS" size="4">5)    <u>Contenu</u> :</font></i></p>
  170. <p class="MsoNormal"> </p>
  171. <ul style="margin-top: 0cm; margin-bottom: 0cm" type="disc">
  172.   <li class="MsoNormal"><font face="Comic Sans MS">Les informations étaient suffisantes.</font></li>
  173. </ul>
  174. <p>
  175. <font face="Comic Sans MS">
  176. <input type="radio" name="51Oui">Oui. 
  177. <input type="radio" name="51non">Non.</font></p>
  178. <ul style="margin-top: 0cm; margin-bottom: 0cm" type="disc">
  179.   <li class="MsoNormal"><font face="Comic Sans MS">Le curriculum vitae contient suffisamment de détails.</font></li>
  180. </ul>
  181. <p>
  182. <font face="Comic Sans MS">
  183.     <input type="radio" name="52oui">Oui. 
  184.     <input type="radio" name="52non">Non.
  185. </font>
  186. </p>
  187. <p>
  188. </p>
  189. <center>
  190. <p>
  191. <font face="Comic Sans MS">Commentaires supplémentaires :</font></p>
  192. <textarea name="Impressions" rows="5" cols="30">
  193. </textarea>
  194. <p> </p>
  195. <p> </p>
  196. <INPUT TYPE="SUBMIT" VALUE="Envoyer mes réponses" SIZE="40">
  197. <INPUT TYPE="RESET" VALUE="Effacer les données saisies" SIZE="30">
  198. </center>
  199.     </body>
  200. </html>


Message édité par mauriiiiiice le 09-01-2007 à 15:25:23
Reply

Marsh Posté le 05-01-2007 à 18:32:40   

Reply

Marsh Posté le 06-01-2007 à 22:52:31    

Bonsoir,
 
Le plus simple est de passer par un script PHP. Il récupère les données, et te les envoi par mail. Le plus sûr serait d'enregistrer les résultats dans une base de données ou sur un fichier. C'est pas bcp plus long, et largement moins risqué.
 
Ci-dessous 2 fichiers fait un peu à la va-vite, mais qui devraient t'aider :
 
le document HTML

Code :
  1. <html>
  2. <head>
  3. <title>Questionnaire de satisfaction</title>
  4. <style>
  5.  * {
  6.   margin: 0;
  7.   padding: 0;
  8.  }
  9.  body {
  10.   font-family: "Comic Sans MS", verdana, arial, helvetica, sans-serif;
  11.  }
  12.  h1 {
  13.   font-size: 3em;
  14.   font-style: italic;
  15.   border-bottom: 4px solid, black;
  16.   border-top: 4px solid, black;
  17.  }
  18.  h2 {
  19.   margin-top: 15px;
  20.   font-size: 1.1em;
  21.   font-style: italic;
  22.   text-decoration: underline;
  23.  }
  24.  h3 {
  25.   margin-top: 5px;
  26.   font-size: 1em;
  27.   font-weight: normal;
  28.  }
  29. </style>
  30. </head>
  31. <body>
  32. <h1>Questionnaire de satisfaction</h1>
  33. <form method="POST" action="traintement.php" >
  34. <p>Pour terminer, je vous propose de remplir un petit questionnaire
  35.  pour donner votre appréciation concernant mon curriculum vitae.</p>
  36. <h2>1) Présentation</h2>
  37. <h3>Je suis satisfait par la sobriété.</h3>
  38. <input type="radio" name="presA" id="presA1" value="oui" />
  39. <label for="presA1">Oui</label>
  40. <input type="radio" name="presA" id="presA2" value="non" />
  41. <label for="presA2">Non</label>
  42. <h3>La page de présentation annonce clairement le contenu</h3>
  43. <input type="radio" name="presB" id="presB1" value="oui" />
  44. <label for="presB1">Oui</label>
  45. <input type="radio" name="presB" id="presB2" value="non" />
  46. <label for="presB2">Non</label>
  47. <h2>2) Page d'accueil</h2>
  48. <h3>J’ai trouvé rapidement les informations que je cherchais.</h3>
  49. <input type="radio" name="pagA" id="pagA1" value="oui" />
  50. <label for="pagA1">Oui</label>
  51. <input type="radio" name="pagA" id="pagA2" value="non" />
  52. <label for="pagA2">Non</label>
  53. <h3>Les informations ne se sont pas trop abondantes.</h3>
  54. <input type="radio" name="pagB" id="pagB1" value="oui" />
  55. <label for="pagB1">Oui</label>
  56. <input type="radio" name="pagB" id="pagB2" value="non" />
  57. <label for="pagB2">Non</label>
  58. <h2>3) Sommaire</h2>
  59. <h3>Clarté des informations disponible sur le curriculum vitae.</h3>
  60. <select name="3_1" size="4">
  61.  <option value="4" selected="selected">Très satisfaisante</option>
  62.  <option value="3">Satisfaisante</option>
  63.  <option value="2">Moyennement satisfaisante</option>
  64.  <option value="1">Pas satisfaisante</option>
  65. </select>
  66. <h3>Facilité d'accès aux informations principales/essentielles.</h3>
  67. <select name="3_2" size="4">
  68.  <option value="4" selected="selected">Très satisfaisante</option>
  69.  <option value="3">Satisfaisante</option>
  70.  <option value="2">Moyennement satisfaisante</option>
  71.  <option value="1">Pas satisfaisante</option>
  72. </select>
  73. <h3>Facilité de navigation.</h3>
  74. <select name="3_3" size="4">
  75.  <option value="4" selected="selected">Très satisfaisante</option>
  76.  <option value="3">Satisfaisante</option>
  77.  <option value="2">Moyennement satisfaisante</option>
  78.  <option value="1">Pas satisfaisante</option>
  79. </select>
  80. <h3>Interactivité des divers éléments.</h3>
  81. <select name="3_4" size="4">
  82.  <option value="4" selected="selected">Très satisfaisante</option>
  83.  <option value="3">Satisfaisante</option>
  84.  <option value="2">Moyennement satisfaisante</option>
  85.  <option value="1">Pas satisfaisante</option>
  86. </select>
  87. <h2>4) Esthétique</h2>
  88. <h3>Impression générale.</h3>
  89. <select name="4_1" size="4">
  90.  <option value="4" selected="selected">Positive</option>
  91.  <option value="3">Plutot positive</option>
  92.  <option value="2">Moyennement Positive</option>
  93.  <option value="1">Négative</option>
  94. </select>
  95. <h3>Facilité d'accès aux informations principales/essentielles.</h3>
  96. <select name="4_2" size="4">
  97.  <option value="4" selected="selected">Positive</option>
  98.  <option value="3">Plutot positive</option>
  99.  <option value="2">Moyennement Positive</option>
  100.  <option value="1">Négative</option>
  101. </select>
  102. <h2>5) Contenu</h2>
  103. <h3>Les informations étaient suffisantes.</h3>
  104. <input type="radio" name="5A" id="5A1" value="oui" />
  105. <label for="5A1">Oui</label>
  106. <input type="radio" name="5A" id="5A2" value="non" />
  107. <label for="5A2">Non</label>
  108. <h3>Le curriculum vitae contient suffisamment de détails.</h3>
  109. <input type="radio" name="5B" id="5B1" value="oui" />
  110. <label for="5B1">Oui</label>
  111. <input type="radio" name="5B" id="5B2" value="non" />
  112. <label for="5B2">Non</label>
  113. <h2>6) Commentaires</h2>
  114. <h3>Commentaires supplémentaires :</h3>
  115. <textarea name="Impressions" rows="5" cols="30"> </textarea>
  116. <input type="submit" value="Envoyer mes réponses" size="40" />
  117. <input type="reset" value="Effacer les données saisies" size="30" />
  118. </form>
  119. </body>
  120. </html>


 
Le script PHP

Code :
  1. <?php
  2. // Récupération des données
  3. if (isset($_POST['presA']))
  4.  $radio[0] = $_POST['presA'];
  5. else $radio[0] = 'vide';
  6. if (isset($_POST['presB']))
  7.  $radio[1] = $_POST['presB'];
  8. else $radio[1] = 'vide';
  9. if (isset($_POST['pagA']))
  10.  $radio[2] = $_POST['pagA'];
  11. else $radio[2] = 'vide';
  12. if (isset($_POST['pagB']))
  13.  $radio[3] = $_POST['pagB'];
  14. else $radio[3] = 'vide';
  15. $sommaire1 = $_POST['3_1'];
  16. $sommaire2 = $_POST['3_2'];
  17. $sommaire3 = $_POST['3_3'];
  18. $sommaire1 = $_POST['3_4'];
  19. $esthetique1 = $_POST['4_1'];
  20. $esthetique2 = $_POST['4_2'];
  21. if (isset($_POST['5_A']))
  22.  $radio[4] = $_POST['5_A'];
  23. else $radio[4] = 'vide';
  24. if (isset($_POST['5_B']))
  25.  $radio[5] = $_POST['5_B'];
  26. else $radio[5] = 'vide';
  27. $commentaire =  $_POST['Impressions'];
  28. // Ecriture du message
  29. $message = 'Un nouveau questionnaire a été rempli.\n\n';
  30. $message .= "1. Présentation\n";
  31. $message .= "\t- $radio[0]\n";
  32. $message .= "\t- $radio[1]\n\n";
  33. $message .= "2. Page d'acceuil\n";
  34. $message .= "\t- $radio[3]\n";
  35. $message .= "\t- $radio[4]\n\n";
  36. $message .= "3. Sommaire\n";
  37. $message .= "\t- $sommaire1\n";
  38. $message .= "\t- $sommaire2\n";
  39. $message .= "\t- $sommaire3\n";
  40. $message .= "\t- $sommaire4\n\n";
  41. $message .= "4. Esthétique\n";
  42. $message .= "\t- $esthetique1\n";
  43. $message .= "\t- $esthetique2\n\n";
  44. $message .= "5. Contenu\n";
  45. $message .= "\t- $radio[5]\n";
  46. $message .= "\t- $radio[6]\n\n";
  47. $message .= "6. Commentaires\n";
  48. $message .= "\t- $commentaire\n\n";
  49. $destinataire = 'a@b.cd';
  50. $sujet = 'Réponse au questionnaire';
  51. // Envoi
  52. mail($destinataire, $sujet ,$message);
  53. ?>


Message édité par bepimaco le 09-01-2007 à 23:15:42
Reply

Marsh Posté le 06-01-2007 à 22:56:07    

Le script PHP est vraiment minimaliste : il n'y a aucun contrôle des données. C'est pour que tu vois un peu la structure de base.
 
Les seuls test sont :

Code :
  1. if (isset($_POST['presA']))
  2.      $radio[0] = $_POST['presA'];
  3. else $radio[0] = 'vide';


 
Ils permettent de vérifier qu'au moins un des boutons radio a été coché. Sans ça, le programme bug.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed