Se connecter / S'enregistrer
Votre question

Imposible de joindre un fichier à un formulaire

Tags :
  • Programmation
Dernière réponse : dans Programmation
12 Juin 2007 11:12:09

BOnjour à toutes et à tous,
J'ai trouvé un formulaire sur internet. Il va servir au recrutement de notre entreprise.

En fait j'ai trouvé un formulaire sans possibilité de joindre une pièce jointe. Il est pas mal, mais j'ai donc rajouté un bout de code dans la page pour que le browser apparaisse.

Mon soucis, quand on mets "envoyer", rien ne se passe. Pas de chargement de la pièce jointe. Je ne connais rien au php. J'ai juste trouvé le morceau de code et je l'ai rajouté, j'ai fait en fonction des autres champs.

Voici le lien pour consulter le formulaire : www.claf.fr/upload qui sera déplacé dans www.claf.fr/recrutement

Je le ferais quand le formualire fonctionnera. Dans le dossier "recrutement" j'ai créé un forum pour que les gens laissent leur coordonnées cv et lettre de motivation.

Et voila le code du formulaire :

  1. <?php
  2.  
  3. $email_dest = "webmaster@claf.fr";
  4.  
  5. if ($_POST['envoi']) {
  6.  
  7. $message_remerciement = "Merci de votre demande, nous y répondrons dans les meilleurs délais";
  8.  
  9. // E-mail headers:
  10. $headers ="MIME-Version: 1.0 \n";
  11. $headers .="From: Recrutement <stage@wizzz.org>\n";
  12.  
  13.  
  14. $headers .="Content-Type: text/html; charset=iso-8859-1 \n";
  15.  
  16. $subject = "Recrutement";
  17.  
  18. $partie_entete = "<html><head>
  19. <meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
  20. </head>
  21. <body bgcolor=#FFFFFF>";
  22.  
  23. for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) {
  24. $partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . "</font><br>";
  25. }
  26.  
  27. if ($_POST['nbre_zone_email'] != 0) {
  28. $partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>";
  29. }
  30.  
  31. if ($_POST['nbre_zones_texte'] != 0) {
  32. $partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>";
  33. $partie_zone_texte = stripslashes($partie_zone_texte);
  34. }
  35.  
  36. $fin = "</body></html>";
  37.  
  38. $sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin;
  39.  
  40. // Send the e-mail
  41. if (@!mail($email_dest,$subject,$sortie,$headers)) {
  42. echo("Envoi du formulaire impossible");
  43. } // Closing if !mail...
  44.  
  45. } // Closing if edit
  46. ?><html>
  47. <head>
  48. <title>DEMANDE DE STAGE</title>
  49. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  50. <script language="JavaScript"><!-- Hide script from older browsers
  51. function verifSelection() {if (mail_form.champ1.value == "") {
  52. alert("champs obligatoire")
  53. return false
  54. } if (mail_form.champ2.value == "") {
  55. alert("champs obligatoire")
  56. return false
  57. } if (mail_form.zone_email.value == "") {
  58. alert("champs obligatoire")
  59. return false
  60. } if (mail_form.champ5.value == "") {
  61. alert("champs obligatoire")
  62. return false
  63. }
  64.  
  65. invalidChars = " /:,;'"
  66.  
  67. for (i=0; i<invalidChars.length; i++) { // does it contain any invalid characters?
  68. badChar = invalidChars.charAt(i)
  69.  
  70. if (mail_form.zone_email.value.indexOf(badChar,0) > -1) {
  71. alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.")
  72. mail_form.zone_email.focus()
  73. return false
  74. }
  75. }
  76.  
  77. atPos = mail_form.zone_email.value.indexOf("@",1) // there must be one "@" symbol
  78. if (atPos == -1) {
  79. alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier.')
  80. mail_form.zone_email.focus()
  81. return false
  82. }
  83.  
  84. if (mail_form.zone_email.value.indexOf("@",atPos+1) != -1) { // and only one "@" symbol
  85. alert('Il ne doit y avoir qu\'un signe "@". Veuillez vérifier.')
  86. mail_form.zone_email.focus()
  87. return false
  88. }
  89.  
  90. periodPos = mail_form.zone_email.value.indexOf(".",atPos)
  91.  
  92. if (periodPos == -1) { // and at least one "." after the "@"
  93. alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier.')
  94. mail_form.zone_email.focus()
  95. return false
  96. }
  97.  
  98. if (periodPos+3 > mail_form.zone_email.value.length) { // must be at least 2 characters after the
  99. alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier.')
  100. mail_form.zone_email.focus()
  101. return false
  102. }if (mail_form.zone_texte.value == "") {
  103. alert("champs obligatoire")
  104. return false
  105. } } // Fin de la fonction
  106.  
  107. </script>
  108. </head>
  109.  
  110. <body bgcolor="#FFFFFF">
  111. <form name="mail_form" method="post" action="<?=$PHP_SELF?>" onSubmit="return verifSelection()">
  112. <div align="center"></div>
  113. <p align="center">
  114. <?php
  115. if ($message_remerciement) {
  116. echo("<font face=Verdana size=2>");
  117. echo(stripslashes($message_remerciement));
  118. echo("</p></body></html>");
  119. exit();
  120. }
  121. ?>
  122. <table width="560" border="0" align="center">
  123. <tr>
  124. <td colspan="2">
  125. <div align="center"><img src="header.jpg" width="760" height="120"></div>
  126. </td>
  127. </tr>
  128. <tr>
  129. <td width="280"><img src="ies/force-tab.gif" width="280" height="1"></td>
  130. <td width="280"><img src="ies/force-tab.gif" width="280" height="1"></td>
  131. </tr>
  132. <p align="center"> </p>
  133. <tr>
  134. <td width="280" bgcolor="#024883"><font face="Verdana" size="2" color="#FFFFFF"><b>Nom</b></font></td>
  135. <td bgcolor="#024883" width="280">
  136. <input name="champ1" type="text">
  137. </td>
  138. </tr>
  139. <tr>
  140. <td width="280" bgcolor="#024883"><b><font face="Verdana" size="2" color="#FFFFFF">Prénom</font></b></td>
  141. <td bgcolor="#024883" width="280">
  142. <input name="champ2" type="text">
  143. </td>
  144. </tr>
  145. <tr>
  146. <td width="280" bgcolor="#024883"><b><font face="Verdana" size="2" color="#FFFFFF">E-mail</font></b></td>
  147. <td bgcolor="#024883" width="280">
  148. <input name="zone_email" type="text">
  149. </td>
  150. </tr>
  151. <tr>
  152. <td width="280" bgcolor="#024883"><b><font face="Verdana" size="2" color="#FFFFFF">Joindre un fichier</font></b></td>
  153. <td bgcolor="#024883" width="280">
  154. <input name="nom_du_fichier" type="file">
  155. <input name="joindre" type="submit">
  156. </td>
  157. </tr>
  158. <tr>
  159. <td width="280" bgcolor="#024883"><b><font face="Verdana" size="2" color="#FFFFFF">Poste
  160. demandé </font></b></td>
  161. <td bgcolor="#024883" width="280">
  162. <input name="champ5" type="text">
  163. </td>
  164. </tr>
  165. <tr>
  166. <td valign="top" width="280" bgcolor="#024883"><b><font face="Verdana" size="2" color="#FFFFFF">Remarques</font></b></td>
  167. <td bgcolor="#024883" width="280">
  168. <textarea name="zone_texte" cols="50" rows="15"></textarea>
  169. </td>
  170. </tr>
  171. <tr>
  172. <td valign="top" width="280">
  173. <input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="5">
  174. <input name="nbre_zones_texte" type="hidden" value="1">
  175. <input name="nbre_zone_email" type="hidden" value="1">
  176. <input name="titre_champ1" type="hidden" value="Nom">
  177. <input name="titre_champ2" type="hidden" value="Prénom">
  178. <input name="titre_email" type="hidden" value="E-mail">
  179. <input name="titre_champ3" type="hidden" value="Poste demandé">
  180. <input name="titre_zone" type="hidden" value="Remarques">
  181. <FORM method="POST" ENCTYPE="multipart/form-data"">
  182. <INPUT type=hidden name=MAX_FILE_SIZE VALUE=2048>
  183. <INPUT type=file name="nom_du_fichier">
  184. <INPUT type=submit value="Envoyer">
  185. </FORM>
  186. </td>
  187. <td width="280">
  188. <div align="center">
  189. <input type="reset" name="Reset" value="Effacer">
  190. <input type="submit" name="envoi" value="Envoyer">
  191. </div>
  192. </td>
  193. </tr>
  194. </table>
  195. <div align="center"></div>
  196. </form>
  197. </body>
  198. </html>


Merci d'avance.

Autres pages sur : imposible joindre fichier formulaire

12 Juin 2007 12:19:37

bonjour,
tu ne peux pas imbriquer 2 formulaires, il faut juste rajouter le champs pour le fichier et modifier l'attribut ENCTYPE au niveau de la premiere déclaration du formulaire.
12 Juin 2007 13:59:43

Cest à dire lol, tu peux traduire stp, neebie powaaaa
Contenus similaires
12 Juin 2007 14:24:42

t'enleve le 2eme <FORM ...>, le 1er </FORM>, le premier <INPUT type=submit...> et tu rajoutes ENCTYPE="multipart/form-data" dans le 1er <form...>
12 Juin 2007 15:22:12

J'ai du me trompé ^^

  1. <html>
  2. <head>
  3. <title>DEMANDE DE STAGE</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. <script language="JavaScript"><!-- Hide script from older browsers
  6. function verifSelection() {if (mail_form.champ1.value == "") {
  7. alert("champs obligatoire")
  8. return false
  9. } if (mail_form.champ2.value == "") {
  10. alert("champs obligatoire")
  11. return false
  12. } if (mail_form.zone_email.value == "") {
  13. alert("champs obligatoire")
  14. return false
  15. } if (mail_form.champ5.value == "") {
  16. alert("champs obligatoire")
  17. return false
  18. }
  19.  
  20. invalidChars = " /:,;'"
  21.  
  22. for (i=0; i<invalidChars.length; i++) { // does it contain any invalid characters?
  23. badChar = invalidChars.charAt(i)
  24.  
  25. if (mail_form.zone_email.value.indexOf(badChar,0) > -1) {
  26. alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.")
  27. mail_form.zone_email.focus()
  28. return false
  29. }
  30. }
  31.  
  32. atPos = mail_form.zone_email.value.indexOf("@",1) // there must be one "@" symbol
  33. if (atPos == -1) {
  34. alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier.')
  35. mail_form.zone_email.focus()
  36. return false
  37. }
  38.  
  39. if (mail_form.zone_email.value.indexOf("@",atPos+1) != -1) { // and only one "@" symbol
  40. alert('Il ne doit y avoir qu\'un signe "@". Veuillez vérifier.')
  41. mail_form.zone_email.focus()
  42. return false
  43. }
  44.  
  45. periodPos = mail_form.zone_email.value.indexOf(".",atPos)
  46.  
  47. if (periodPos == -1) { // and at least one "." after the "@"
  48. alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier.')
  49. mail_form.zone_email.focus()
  50. return false
  51. }
  52.  
  53. if (periodPos+3 > mail_form.zone_email.value.length) { // must be at least 2 characters after the
  54. alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier.')
  55. mail_form.zone_email.focus()
  56. return false
  57. }if (mail_form.zone_texte.value == "") {
  58. alert("champs obligatoire")
  59. return false
  60. } } // Fin de la fonction
  61.  
  62. </script>
  63. </head>
  64.  
  65. <body bgcolor="#FFFFFF">
  66. <form name="mail_form" method="post" action="/upload/formulaire.php" onSubmit="return verifSelection()">
  67. <div align="center"></div>
  68. <p align="center">
  69. <table width="560" border="0" align="center">
  70. <tr>
  71. <td colspan="2">
  72. <div align="center"><img src="header.jpg" width="760" height="120"></div>
  73. </td>
  74. </tr>
  75. <tr>
  76. <td width="280"><img src="ies/force-tab.gif" width="280" height="1"></td>
  77. <td width="280"><img src="ies/force-tab.gif" width="280" height="1"></td>
  78. </tr>
  79. <p align="center"> </p>
  80. <tr>
  81. <td width="280" bgcolor="#024883"><font face="Verdana" size="2" color="#FFFFFF"><b>Nom</b></font></td>
  82. <td bgcolor="#024883" width="280">
  83. <input name="champ1" type="text">
  84. </td>
  85. </tr>
  86. <tr>
  87. <td width="280" bgcolor="#024883"><b><font face="Verdana" size="2" color="#FFFFFF">Prénom</font></b></td>
  88. <td bgcolor="#024883" width="280">
  89. <input name="champ2" type="text">
  90. </td>
  91. </tr>
  92. <tr>
  93. <td width="280" bgcolor="#024883"><b><font face="Verdana" size="2" color="#FFFFFF">E-mail</font></b></td>
  94. <td bgcolor="#024883" width="280">
  95. <input name="zone_email" type="text">
  96. </td>
  97. </tr>
  98. <tr>
  99. <td width="280" bgcolor="#024883"><b><font face="Verdana" size="2" color="#FFFFFF">Joindre un fichier</font></b></td>
  100. <td bgcolor="#024883" width="280">
  101. <input name="nom_du_fichier" type="file">
  102. <input name="joindre" type="submit">
  103. </td>
  104. </tr>
  105. <tr>
  106. <td width="280" bgcolor="#024883"><b><font face="Verdana" size="2" color="#FFFFFF">Poste
  107. demandé </font></b></td>
  108. <td bgcolor="#024883" width="280">
  109. <input name="champ5" type="text">
  110. </td>
  111. </tr>
  112. <tr>
  113. <td valign="top" width="280" bgcolor="#024883"><b><font face="Verdana" size="2" color="#FFFFFF">Remarques</font></b></td>
  114. <td bgcolor="#024883" width="280">
  115. <textarea name="zone_texte" cols="50" rows="15"></textarea>
  116. </td>
  117. </tr>
  118. <tr>
  119. <td valign="top" width="280">
  120. <input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="5">
  121. <input name="nbre_zones_texte" type="hidden" value="1">
  122. <input name="nbre_zone_email" type="hidden" value="1">
  123. <input name="titre_champ1" type="hidden" value="Nom">
  124. <input name="titre_champ2" type="hidden" value="Prénom">
  125. <input name="titre_email" type="hidden" value="E-mail">
  126. <input name="titre_champ3" type="hidden" value="Poste demandé">
  127. <input name="titre_zone" type="hidden" value="Remarques">
  128. <FORM method="POST" ENCTYPE="multipart/form-data">
  129. <INPUT type=hidden name=MAX_FILE_SIZE VALUE=2048>
  130. </td>
  131. <td width="280">
  132. <div align="center">
  133. <input type="reset" name="Reset" value="Effacer">
  134. <input type="submit" name="envoi" value="Envoyer">
  135. </div>
  136. </td>
  137. </tr>
  138. </table>
  139. <div align="center"></div>
  140. </form>
  141. </body>
  142. </html>
12 Juin 2007 15:32:16

:heink:  qu'est ce que tu n'as pas compris dans ce que je t'ai dis avant?
parce la, je vois pas ce que tu as fais...
12 Juin 2007 15:43:50

J'ai supprimé un peu de tout ^^ J'y comprends rien du tout.
J'ai supprimé :
- le 2eme <FORM ...>
- le 1er </FORM>
- le premier <INPUT type=submit...>

tu rajoutes ENCTYPE="multipart/form-data" dans le 1er <form...>

J'ai rien rajouté puisqu'il y est déja.

Mon but est de recevoir un cv en pièce jointe pour faire le recrutement.

Merki :) 
12 Juin 2007 15:49:05

il faut le faire...
le 2eme <FORM ...>, je le vois encore
et tu as supprimé le <input type=file...>
et le 1er FORM ne contient pas le ENCTYPE...
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