begin process at 2012 05 31 17:00:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Récupération de pièce jointe dans un formulaire html


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Récupération de pièce jointe dans un formulaire html

jeudi 27 novembre 2008 à 16:03:36 | Récupération de pièce jointe dans un formulaire html

golgothe

Bonjour, je souhaiterais envoyer un mail avec une pièce jointe via un formulaire html. Le but est de récupérer un cv et une lettre de motivation. J'ai bien les deux pieces jointes mais elles sont vides.

voici le code du formulaire :
<FORM name="form" id="monForm" method="GET" action="envoi_candidature.php" enctype="multipart/form-data" onSubmit="return check();" >
                            <table>
                                <tr>
                                    <td> Nom * : </td>
                                    <td> E-Mail * : </td>
                                </tr>
                                <tr>
                                    <td> <INPUT name="nom" type="text"  size="20" onKeyUp="javascript:couleur(this);"> </td>
                                    <td> <INPUT name="mail" type="text"  size="30" onKeyUp="javascript:couleur(this);"> </td>
                                </tr>
                                <tr>
                                    <td> Prénom * : </td>
                                    <td> Téléphone * : </td>
                                </tr>
                                <tr>
                                    <td> <INPUT name="prenom" type="text"  size="20" onKeyUp="javascript:couleur(this);"> </td>
                                    <td> <INPUT name="telephone" type="text"  size="10" onKeyUp="javascript:couleur(this);">  </td>
                                </tr>
                                <tr>
                                    <td> Adresse * : </td>
                                    <td> Poste sollicité * : </td>
                                </tr>
                                <tr>
                                    <td> <INPUT name="adresse" type="text"  size="30" onKeyUp="javascript:couleur(this);">  </td>
                                    <td> <INPUT name="poste_sollicite" type="text"  size="20" onKeyUp="javascript:couleur(this);">   </td>
                                </tr>
                                <tr>
                                    <td> Code postal * :</td>
                                    <td> Lettre de motivation * :</td>
                                </tr>
                                <tr>
                                    <td> <INPUT name="cp" type="text"  size="5" onKeyUp="javascript:couleur(this);">                                           </td>
                                    <td> <input name="lettre_motiv" type="file" >  </td>
                                </tr>
                                <tr>
                                    <td> Ville * : </td>
                                    <td> CV :  *</td>
                                </tr>
                                <tr>
                                    <td> <INPUT  name="ville" type="text"  size="15" onKeyUp="javascript:couleur(this);">     </td>
                                    <td> <input name="cv" type="file" >   </td>
                                </tr>
                            </table>
                    <fieldset>
                        <legend>Vérification anti-spam</legend>
                             <p><font size="2">Veuillez s'il vous plait répondre à cette question : *
                            <br>Combien font 2 + 6 ?</font>
               
                    <input name="protection" type="text" size="3" onKeyUp="javascript:couleur(this);">
                  </p>
                    </fieldset>
                        <p>
                            <font size="1">Les champs marqués d'un * sont obligatoires</font>
                        </p>
                                <input type="submit" value="Envoyer" name="bouton" >
                               
                </form>  

Voici le code qui effectue le traitement :

<?php

            $nom = $_GET["nom"];
            $prenom = $_GET["prenom"];
            $adresse = $_GET["adresse"];
            $cp = $_GET["cp"];
            $ville = $_GET["ville"];
            $mail = $_GET["mail"];
            $telephone = $_GET["telephone"];
            $poste_sollicite = $_GET["poste_sollicite"];
            $lettre_motiv = $_GET["lettre_motiv"];
            $cv = $_GET["cv"];
        
             echo $lettre_motiv;
            
            //----------------------------------
            // Construction de l'entête
            //----------------------------------
            $boundary = "-----=".md5(uniqid(rand()));
            
            $header  = "MIME-Version: 1.0\r\n";
            $header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
            $header .= "\r\n";
            
            //--------------------------------------------------
            // Construction du message proprement dit
            //--------------------------------------------------
            
            $msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n";
            
            //---------------------------------
            // 1ère partie du message
            // Le texte
            //---------------------------------
            $msg .= "--$boundary\r\n";
            $msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
            $msg .= "Content-Transfer-Encoding:8bit\r\n";
            $msg .= "\r\n";
            $msg .= "Ceci est un mail avec 2 fichiers joints\r\n";
            $msg .= "\r\n";
            
            //---------------------------------
            // 2nde partie du message
            // Le 1er fichier (inline)
            //---------------------------------
            $file = $lettre_motiv;
            $fp   = fopen($file, "rb");   // le b c'est pour les windowsiens
            $attachment = fread($fp, filesize($file));
            fclose($fp);
            $attachment = chunk_split(base64_encode($attachment));
            
            $msg .= "--$boundary\r\n";
            $msg .= "Content-Type: multipart/mixed; name=\"$file\"\r\n";
            $msg .= "Content-Transfer-Encoding: base64\r\n";
            $msg .= "Content-Disposition: attachment; filename=\"$file\"\r\n";
            $msg .= "\r\n";
            $msg .= $attachment . "\r\n";
            $msg .= "\r\n\r\n";
            
            //---------------------------------
            // 3ème partie du message
            // Le 2ème fichier (attachment)
            //---------------------------------
            $file = $lettre_motiv;
            $fp = fopen($file, "rb");
            $attachment = fread($fp, filesize($file));
            fclose($fp);
            $attachment = chunk_split(base64_encode($attachment));
            
            $msg .= "--$boundary\r\n";
            $msg .= "Content-Type: image/gif; name=\"$file\"\r\n";
            $msg .= "Content-Transfer-Encoding: base64\r\n";
            $msg .= "Content-Disposition: attachment; filename=\"$file\"\r\n";
            $msg .= "\r\n";
            $msg .= $attachment . "\r\n";
            $msg .= "\r\n\r\n";
            
            $msg .= "--$boundary--\r\n";
            
            $destinataire = "monAdresse@hotmail.com";
            $expediteur   = "monAdresse@hotmail.com";
            $reponse      = $expediteur;
            echo "Ce script envoie un mail avec 2 fichiers joints à $destinataire";
            mail($destinataire,
                 "Email avec 2 fichiers joints (dont 1 inline)",
                 $msg,
                 "Reply-to: $reponse\r\nFrom: $destinataire\r\n".$header);    
vendredi 28 novembre 2008 à 15:37:55 | Re : Récupération de pièce jointe dans un formulaire html

JulSoft

Membre Club
Je suis pas certain de ce que je vais avancer, mais il me semble que l'envoi de fichiers doit se faire à travers la méthode POST, et pas en GET, c'est peut être là ton problème... peut être pas ;-)
dimanche 30 novembre 2008 à 12:31:22 | Re : Récupération de pièce jointe dans un formulaire html

yopai_v

Oui. Voir la section qui est dédiée aux téléchargements de fichier sur (par exemple) http://fr.php.net/manual/fr/features.file-upload.php


Cette discussion est classée dans : file, msg, get, content, attachment


Répondre à ce message

Sujets en rapport avec ce message

Comparer une page web a differents moment à file_get_content [ par loupile ] Bonjour, j'essaye d'écrire un petit script tout bête pour regarder les changements opérés sur une page web à des instants differents.Mon idée est donc Fonction @file_get_contents [ par CrazyShooter ] Bonsoir à tous !Je vais vous énoncer mon problème.J'essaye de récupérer le source d'une page web avec la fonction @file_get_contents($url),où $url = h truc fou avec file_get_contents [ par caviar ] salut ...je viens de remarquer que si je fait un file_get_contents sur une page html qui a une ligne du typeen début de Forcer telechargement bloque la navigation [ par knabis2000 ] Bonjour a tous,Voila je cherche a forcer le telechargement d'une video, c'est à dire faire apparaitre un "enregistrer sous" plutot que d'ouvrir la vid Pb avec un chatbox [ par newbieflag ] Voici le chatbox que j'ai emprunté sur une source...seul problème les messages s'effacent au bout de quelques heures...comment empêcher ça??? voici le file_get_contents ne parse pas le php [ par Linuss ] Bonjour à tous, Alors voilà, je me suis remis au php après un temps d'arrêt, et du coup je tombe sur un os tr&#232 File_get_contents sur une URL : encodage [ par mentral ] Bonjour,Je suis en train de coder un script qui récupère une page HTML et l'analyse pour en extraire des informations. Pour cela, j'utilise file_get_c Aide Plz [ par olgay95 ] Voila j'ai un code en php pour envoyée des mail : $get = "";$msg = ""; $subject = ""; mail("", $subject, $msg, $get); header ("location: "); ?>le souc Problème avec file_get_contents [ par Tetsuo30 ] Bonjour,j'ai un petit problème avec le fonction file_get_contentsVoici mon code :$texte = file_get_contents('test.txt'); ?>Le but c est de d'affich


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales