IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Envoi d'une image par e-mail depuis un formulaire


Sujet :

Langage PHP

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2004
    Messages : 126
    Points : 129
    Points
    129
    Par défaut Envoi d'une image par e-mail depuis un formulaire
    Bonjour à tous,

    Alors voilà mon problème : J'ai un formulaire d'inscription en ligne pour une asso. Le futur adhérent rempli les champs prévus et valide son inscription. Lors de cette validation, un mail est envoyé aux membres du bureau de l'asso pour les avertir d'une nouvelle adhésion.
    J'ai voulu ajouter à mon formulaire la possibilité d'envoyer également sa photo d'identité. Dans mon formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <form name="Formulaire" enctype="multipart/form-data" action="paiement.php" method="post">
    	<fieldset>
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
    	<label class="formulaireadhesion" for="photo">Photo</label><input type="file" name="photo" size="30"/><em>(Taille de l'image limitée à 1Mo)</em>
     
    <br/><br/>
    	<span><input type="submit" value="S'inscrire" /></span>
    	</fieldset>
    Et dans paiement.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    [...]
    $chemin = $_FILES['photo']['tmp_name'];
    $fichier = basename($_FILES['photo']['name']);
    [...]
    // Envoi du mail
    $frontiere = md5(uniqid(mt_rand())); 
     
    $headers ='From: "ASSO"<contact@xxxxxxxxx.net>'."\n";
    $headers .='Reply-To: '.$mail."\n";
    $headers .= 'MIME-Version: 1.0'."\n";
    $headers .= 'Content-Type: multipart/mixed; boundary="'.$frontiere.'"';
     
    $message = '--'.$frontiere."\n";
    $message .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n";
    $message .= 'Content-Transfer-Encoding: 8bit'."\n\n"; 
    $message .= "CORPS MESSAGE";
     
    //pièce jointe
     
    $extensions = array('.png', '.gif', '.jpg', '.jpeg', '.bmp');
    $extension = strrchr($fichier, '.');
    if(in_array($extension, $extensions))
    {
    	$message .= '--'.$frontiere."\n";
    	$message .= 'Content-Type: image/jpeg; name="'.$fichier.'"'."\n";
        $message .= 'Content-Transfer-Encoding: base64'."\n";
        $message .= 'Content-Disposition:attachement; filename="'.$fichier.'"'."\n\n";
    	$message .= chunk_split(base64_encode(file_get_contents($chemin)))."\n";
     
    }
    	$message .= '--'.$frontiere.'--'."\n"; 	
     
    //Corps du message
     
    $sujet = "Adhésion";
    $destinataire = "ASSO@xxxxxx.fr";
     
    mail($destinataire, $sujet, $message, $headers);
    Le mail est bien envoyé mis à part l'image... Un exemple de mail reçu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    ****************************** 
     
     Nouvelle adhesion en ligne : 
     
     photo test5 
     
     E-mail : XXXX@XXXXX.fr 
     TEL : XXXXXXXX
     
     EN ATTENTE DE PAIMENT 
     
    ******************************-------=cb5be550200817f9e5daa3e130087509
    Content-Type: image/jpeg; name="logo_phpBB.jpg"
    Content-Transfer-Encoding: base64
    Content-Disposition:attachement; filename="logo_phpBB.jpg"
     
    /9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK
    CwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU
    FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAB4AMQDASIA
    ...etc...
    xRRQAtFFFABRRRQAUhGaKKAKGpaPb6lEUlQHIxnFc3oPw5s9DvfNiTbGpOyPcSiZOTtUnC59gKKK
    AOyRdoxTqKKACiiigAooooAKKKKAP//Z
    Vous aurez compris le problème que j'ai... L'image est "écrite"... Une idée?

    Merci d'avance à tous!

  2. #2
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Tout simplement, au lieu d'envoyer l'image en pièce jointe, ce qui n'est pas permis par de nombreux hebergeurs, il te suffit d'uploader l'image sur ton site et d'écrire <img src="http://tonsite.com/images/image.png" alt="Visuel de ..." width="50" height="50" /> dans ton email.

  3. #3
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonjour

    Peut être que les explications dans ce tutoriel t'aiderons à résoudre le problème.
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Masquer une image dans un état depuis un formulaire
    Par triistaan dans le forum Access
    Réponses: 9
    Dernier message: 29/04/2014, 19h26
  2. Uploader une image par le biais d'un formulaire
    Par benthebest dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 05/10/2012, 13h30
  3. Réponses: 12
    Dernier message: 27/01/2011, 11h32
  4. [Mail] Envoi d'une recherche par e-mail
    Par vinchenze42 dans le forum Langage
    Réponses: 4
    Dernier message: 17/12/2006, 15h51
  5. [FLASH MX] Envoyer une image par e-mail
    Par skyjoe dans le forum Flash
    Réponses: 2
    Dernier message: 22/10/2004, 18h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo