Tom's Guide > Forum > Programmation > Créer champs pour envoyer un cv et recuperation par mail

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

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

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

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 [...] e-fichiers

 

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

 

Merci.


Message édité par jpp13 le 06-07-2007 à 10:03:59
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.
- 0 +

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

------------------------------ Triple Champion du monde, à titre honorifique, de Kamoulox !
Répondre à Le22

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

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

Répondre à jpp13

Je dois créer un nouveau fichier php ?

Répondre à jpp13

Non pas obligatoirement. Si ta page se nomme page_mail.php :

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




------------------------------ La parole est d'argent mais le silence est d'or
Répondre à DivX_666

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

Merci.

Répondre à jpp13

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 :

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

Merci de votre aide.


Message édité par jpp13 le 10-07-2007 à 09:30:13
Répondre à jpp13

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.

------------------------------ La parole est d'argent mais le silence est d'or
Répondre à DivX_666

D'accord donc si je met ca :

$fichier=file_get_contents($fichier);

C'est correct ?

Merci de ton aide Divx_666

Répondre à jpp13

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

 
Code :
  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. //Corps du mail en commençant par le message principal
  8. $body="--". $boundary ."\n
  9. Content-Type: text/plain; charset=ISO-8859-1\r\n\n
  10. Message principal du mail.\n\n";
  11. /* Piece jointe*/
  12. $fichier=file_get_contents($fichier);
  13. /* On utilise aussi chunk_split() qui organisera comme il faut l'encodage fait en base 64 pour se conformer aux standards */
  14. $fichier=chunk_split( base64_encode($fichier) );
  15. //Ecriture de la pièce jointe
  16. $body = $body . "--" .$boundary. "\n
  17. Content-Type: application/msword; name=\"nom_fichier\"\r\n
  18. Content-Transfer-Encoding: base64\r\n
  19. Content-Disposition: attachment; filename=\"nom_fichier\"\r\n\n
  20. $fichier";
  21. //Fermeture de la frontière
  22. $body = $body . "--" . $boundary ."--";
  23. //Envoi du mail
  24. mail("jp.perget@yahoo.fr", "CV provenant du site Internet", $body, $headers);
  25. ?>


Message édité par jpp13 le 10-07-2007 à 11:45:35
Répondre à jpp13

tu doit mettre ca :

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

Je pense que ca peut marcher.

------------------------------ La parole est d'argent mais le silence est d'or
Répondre à DivX_666

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


Répondre à jpp13

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/ [...] aspx?id=83

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

Merci.

Répondre à jpp13
Tom's Guide > Forum > Programmation > Créer champs pour envoyer un cv et recuperation par mail
Aller à :

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