Tom's Guide > Forum > Programmation > Imposible de joindre un fichier à un formulaire

Imposible de joindre un fichier à un formulaire

Forum Programmation : Imposible de joindre un fichier à un formulaire

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

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 :

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



Merci d'avance.


Message édité par JeRoMe31320 le 12-06-2007 à 14:01:24
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

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.

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

Cest à dire lol, tu peux traduire stp, neebie powaaaa

Répondre à JeRoMe31320

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

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

J'ai du me trompé ^^

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

Répondre à JeRoMe31320

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

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

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 :)

Répondre à JeRoMe31320

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

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25
Tom's Guide > Forum > Programmation > Imposible de joindre un fichier à un formulaire
Aller à :

Il y a 581 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