Se connecter / S'enregistrer
Votre question

Créer champs pour envoyer un cv et recuperation par mail

Tags :
  • Input
  • Programmation
Dernière réponse : dans Programmation
29 Juin 2007 11:21:49

Salut à tous,

Voila j'ai trouver cet article pour créer un petit formulaire, mais je souhaite renvoyer le cv par mail.

http://www.commentcamarche.net/faq/sujet-889-php-upload...

Et tout faire dans le même fichier, si quelqu'un a deja fait quelque chose de ce type.

Merci.

Autres pages sur : creer champs envoyer recuperation mail

6 Juillet 2007 10:04:11

Personne ?
6 Juillet 2007 11:00:49

si tu peut deja donner le source (la page avec le formulaire), j'essayerais de t'aider ce soir en rentrant, si ca a pas été fait d'ici la ;) 
Contenus similaires
6 Juillet 2007 11:58:41

ok parce que le formulaire c'est ma difficulté c'est juste pour envoyer le fichier à l'adresse email voulu.

  1. <div class="parcourir">
  2. Vous pouvez nous envoyer votre Curriculum Vitae
  3. <form method="post" enctype="multipart/form-data">
  4. <p><input type="file" name="fichier" size="30">
  5. <input type="submit" name="upload" value="Envoyer">
  6. </p>
  7. </form>
  8. </div>


Merci de ton aide.

9 Juillet 2007 15:13:49

Je dois créer un nouveau fichier php ?
9 Juillet 2007 15:44:01

Non pas obligatoirement. Si ta page se nomme page_mail.php :
  1. <?
  2. if (isset($_GET['choix']))
  3. {
  4. $choix = $_GET['choix'];
  5. }
  6. else
  7. {
  8. $choix = "";
  9. }
  10. if ($choix == "submit")
  11. {?>
  12.  
  13. ENVOI DU MAIL ICI
  14.  
  15. <?}
  16. else
  17. {?>
  18. <div class="parcourir">
  19. Vous pouvez nous envoyer votre Curriculum Vitae
  20. <form method="post" enctype="multipart/form-data" action="page_mail.php?choix=submit">
  21. <p><input type="file" name="fichier" size="30">
  22. <input type="submit" name="upload" value="Envoyer">
  23. </p>
  24. </form>
  25. </div>
  26. <?}?>



9 Juillet 2007 16:12:39

Merci de ton aide DivX_666, par contre dans "envoi du mail ici" je dois mettre quoi exactement.

Merci.
10 Juillet 2007 09:24:07

Merci j'ai utiliser vos aides mais le formulaire n'a pas l'air de marcher.

Lorsque j'envoi mon fichier.doc, rien n'est envoyé à (monmail@fr.com)

Et je comprend pas pourquoi, sur le site CCM, ils disent "Piece jointe, on va dire que notre fichier s'appele bidule.doc et qu'il se situe dans le repertoire courant"

Si le nom de fichier s'appelle autrement ca ne marchera pas?

Voici mon code si vous voulez :

  1. <?php
  2. if (isset($_GET['choix']))
  3. {
  4. $choix = $_GET['choix'];
  5. }
  6. else
  7. {
  8. $choix = "";
  9. }
  10. if ($choix == "submit" )
  11. {
  12. ?>
  13.  
  14. <?php
  15. $boundary='didondinaditondelosdudosdodudundodudindon';
  16. //En-têtes du mail
  17. $headers="From: expediteur@domaine.fr\r\n
  18. MIME-Version: 1.0\r\n
  19. Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n\n";
  20.  
  21. //Corps du mail en commençant par le message principal
  22. $body="--". $boundary ."\n
  23. Content-Type: text/plain; charset=ISO-8859-1\r\n\n
  24. Message principal du mail.\n\n";
  25.  
  26. /* Piece jointe, on va dire que notre fichier s'appele bidule.doc et qu'il se situe dans le repertoire courant */
  27.  
  28. $fichier=file_get_contents('./bidule.doc');
  29. /* On utilise aussi chunk_split() qui organisera comme il faut l'encodage fait en base 64 pour se conformer aux standards */
  30. $fichier=chunk_split( base64_encode($fichier) );
  31.  
  32. //Ecriture de la pièce jointe
  33. $body = $body . "--" .$boundary. "\n
  34. Content-Type: application/msword; name=\"nom_fichier\"\r\n
  35. Content-Transfer-Encoding: base64\r\n
  36. Content-Disposition: attachment; filename=\"nom_fichier\"\r\n\n
  37. $fichier";
  38.  
  39. //Fermeture de la frontière
  40. $body = $body . "--" . $boundary ."--";
  41.  
  42. //Envoi du mail
  43. mail("monmail@fr.com", "sujet", $body, $headers);
  44. ?>
  45.  
  46. <?php
  47. }
  48. else
  49. {
  50. ?>
  51. <div class="parcourir">
  52. Vous pouvez nous envoyer votre Curriculum Vitae
  53. <form method="post" enctype="multipart/form-data" action="template.recrutement.php?choix=submit">
  54. <p><input type="file" name="fichier" size="30">
  55. <input type="submit" name="upload" value="Envoyer">
  56. </p>
  57. </form>
  58. </div>


Merci de votre aide.
10 Juillet 2007 11:37:17

A cet endroit :
/* Piece jointe, on va dire que notre fichier s'appele bidule.doc et qu'il se situe dans le repertoire courant */

$fichier=file_get_contents('./bidule.doc');

C'est ici que le nom du fichier est mentionner, si ce n'est pas le bon nom, remplace le ou alor si tu ne connait pas a l'avance le nom de ton fichier, remplace par la variable qui recoit ton fichier de ton formulaire.
10 Juillet 2007 11:41:43

D'accord donc si je met ca :

$fichier=file_get_contents($fichier);

C'est correct ?

Merci de ton aide Divx_666
10 Juillet 2007 11:45:00

Car je recois par mail ce que j'ai mis entre ces balises :

  1. <?php
  2. $boundary='didondinaditondelosdudosdodudundodudindon';
  3. //En-têtes du mail
  4. $headers="From: expediteur@domaine.fr\r\n
  5. MIME-Version: 1.0\r\n
  6. Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n\n";
  7.  
  8. //Corps du mail en commençant par le message principal
  9. $body="--". $boundary ."\n
  10. Content-Type: text/plain; charset=ISO-8859-1\r\n\n
  11. Message principal du mail.\n\n";
  12.  
  13. /* Piece jointe*/
  14. $fichier=file_get_contents($fichier);
  15.  
  16. /* On utilise aussi chunk_split() qui organisera comme il faut l'encodage fait en base 64 pour se conformer aux standards */
  17. $fichier=chunk_split( base64_encode($fichier) );
  18.  
  19. //Ecriture de la pièce jointe
  20. $body = $body . "--" .$boundary. "\n
  21. Content-Type: application/msword; name=\"nom_fichier\"\r\n
  22. Content-Transfer-Encoding: base64\r\n
  23. Content-Disposition: attachment; filename=\"nom_fichier\"\r\n\n
  24. $fichier";
  25.  
  26. //Fermeture de la frontière
  27. $body = $body . "--" . $boundary ."--";
  28.  
  29. //Envoi du mail
  30. mail("jp.perget@yahoo.fr", "CV provenant du site Internet", $body, $headers);
  31. ?>
10 Juillet 2007 13:26:06

tu doit mettre ca :

$fichier=file_get_contents('./'.$_FILES[\'name\'].'');

Je pense que ca peut marcher.
10 Juillet 2007 13:37:44

Merci j'ai essayé et malhreusement une erreur apparait,

J'ai corrigé la ligne : $fichier=file_get_contents('./'.$_FILES[\'name\'].');

Le code des lignes suivantes s'affiche en rouge avec la cote en plus.

Voici l'erreur qui apparait :

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home.10.7/eurosud/www/chemin_complet/traitement_recrutement.php on line 28

Parse error: syntax error, unexpected ')', expecting ']' in /home.10.7/eurosud/www/chemin_complet/traitement_recrutement.php on line 28

Note : c'est la même erreur avec la cote en moins et celle que m'a donné Divx_666


10 Juillet 2007 14:45:44

C'est bon j'ai reussi avec ce script la qui est bien plus clair que le mien, si ca peut servir pour d'autres personnes.

http://www.asp-php.net/ressources/bouts_de_code.aspx?id...

Par contre j'aimerais tester si on a rien saisi et de renvoyer une erreur "merci de remplir entierement le formulaire" ?

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