Imposible de joindre un fichier à un formulaire - Programmation
TomsGuide.com : 700 000 inscrits répondent à toutes vos questions high-tech et informatique.
Pour obtenir de l'aide, inscrivez-vous gratuitement !
 




Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Imposible de joindre un fichier à un formulaire
 
Profil : IDNaute
Plus d'informations

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.

Profil : IDNaute
Plus d'informations

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!
Profil : IDNaute
Plus d'informations

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

Profil : IDNaute
Plus d'informations

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!
Profil : IDNaute
Plus d'informations

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>

Profil : IDNaute
Plus d'informations

: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!
Profil : IDNaute
Plus d'informations

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

Profil : IDNaute
Plus d'informations

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!

  FORUM Infos-du-Net » Programmation » Imposible de joindre un fichier à un formulaire

Aller à :
 

Liens