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

Bibliothèques et frameworks PHP Discussion :

Formulaire avec PHPMailer


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 75
    Points : 50
    Points
    50
    Par défaut Formulaire avec PHPMailer
    Bonsoir,

    J'essaie désespérément de créer un formulaire où les gens peuvent m'envoyer une pièce jointe par mail.
    Pour le formulaire, je sais comment le créer. Pour faire un truc simple, voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head></head>
    <body>
    <form method="post" action="new5.php" enctype="multipart/form-data">
    	<input id="mail" style="width: 200px; height: 20px;" type="text" name="mail" />
    	<input type="hidden" name="MAX_FILE_SIZE" value="2097152" /> 
    	<input id="fournirfichier" type="file" name="fournirfichier" />
    	<input style="border-radius: 3px; font-size: 14px; font-family: roboto-light; padding: 3px;" type="submit" value="Envoyer votre demande d'impression" />
    </form>
    </body>
    Je reçois bien le mail, pas de soucis, mais je ne reçois aucune pièce jointe, simplement son nom...
    J'ai essayé de voir avec la librairie PHPMailer, mais honnêtement, je ne comprend pas grand chose.
    Il y a un script pré-fait dans l'archive mais je ne vois pas trop où changer les variables pour l'adapté à mon cas...

    Une solution ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Montre nous ton code d'envoi de mail.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 75
    Points : 50
    Points
    50
    Par défaut
    Ah oui pardon^^
    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
    <?php
            require "PHPMailer-FE_v4.11/_lib/class.phpmailer.php"; 
            $mail = new PHPmailer();
            $mail->IsSMTP();
            $mail->IsHTML(true);
            $mail->Host='hote_smtp';
            $mail->From=.$_POST['mail'];
            $mail->AddAddress('modelisation3d@cosplay-heaven.com');
            $mail->AddReplyTo(.$_POST['mail']);
            $mail->Subject="Envoi d'un fichier 3D";
            $mail->Body='<html><body><center><font size=8>Le fichier est attaché ci-dessus</font><br></body></html>';
            $mail->AddAttachment(.$_POST['fournirfichier']);
     
            if(!$mail->Send()){ 
    			echo $mail->ErrorInfo;
    			echo 'Mail non envoyé';
            } 
            else{      
              echo 'Mail envoyé avec succès';
            } 
            $mail->SmtpClose();
            unset($mail);
     
    ?>

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Pourquoi tu mets des points devant $_POST partout ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mail->AddAttachment($_FILES['fournirfichier']['tmp_name'], $_FILES['fournirfichier']['name']);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 75
    Points : 50
    Points
    50
    Par défaut
    Parce que lors d'un traitement "classique" on met des points.
    Genre $mail = "Le mail est".$_POST['mail'];
    Mais là en effet, ça ne sert à rien^^' Je vais essayer ça à midi.

  6. #6
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 75
    Points : 50
    Points
    50
    Par défaut
    Ça ne change rien. En fait je ne reçois même pas de mail.
    Et dans le script, il y doit y avoir au moins le message comme quoi il y a une erreur, mais j'ai une page blanche...

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu nous disais que tu recevais un mail, ce n'était pas le cas ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 75
    Points : 50
    Points
    50
    Par défaut
    Je me suis mal exprimée : Je reçois un mail lorsque je passe par une manière classique, avec donc seulement le nom du fichier.
    Là j'ai mis le script en utilisant PHPMailer. J'ai essayé de voir si je recevais au moins un mail, mais rien du tout. Donc déjà, là, il y a un soucis.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 18
    Points : 28
    Points
    28
    Par défaut
    Yop.

    Le point sert à rien (dans ce cas là). A la base on s'en sert pour faire de la concaténation par exemple : $texte = 'Coucou' . $_POST['...'] . ' comment ça va ?';
    D'ailleurs je déconseille vivement d'utiliser les doubles quotes => " (parce que ça ne sert à rien si on fait de la concaténation)

    Ensuite, tu peux pas dire que celui qui envoi l'email est $_POST['mail']. Parce que grosso modo c'est comme de l'usurpation d'identité. Ton serveur qui va envoyé le mail n'est pas $_POST['mail']. Du coup, c'est normal que tu ne reçoivent pas le mail parce qu'il se trouve probablement en spam.

    Ensuite pour les fichiers il faut utiliser la variable $_FILES, dans ton cas, le fichier est stocké temporairement ici : $_FILES['fournirfichier']['tmp_name']
    Essaye directement avec $_FILES['fournirfichier']['tmp_name'] mais si ça ne marche pas, il te faut au préalablement sauvegarder le fichier sur ton serveur, dans un endroit bien précis, et te servir de ce nouveau chemin (utile: http://php.net/manual/fr/function.mo...oaded-file.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
    <?php
            require "PHPMailer-FE_v4.11/_lib/class.phpmailer.php"; 
            $mail = new PHPmailer();
            $mail->IsHTML(true);
            $mail->From= 'modelisation3d@cosplay-heaven.com';
            $mail->AddAddress('modelisation3d@cosplay-heaven.com');
            $mail->Subject="Envoi d'un fichier 3D";
            $mail->Body='<html><body><center><font size=8>Le fichier est attaché ci-dessus par ' . $_POST['mail'] . '</font><br></body></html>';
            $mail->AddAttachment($_FILES['fournirfichier']['tmp_name']);
     
            if(!$mail->Send()){ 
    			echo $mail->ErrorInfo;
    			echo 'Mail non envoyé';
            } 
            else{      
              echo 'Mail envoyé avec succès';
            } 
            $mail->SmtpClose();
            unset($mail);
     
    ?>

  10. #10
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 75
    Points : 50
    Points
    50
    Par défaut
    C'est nickel ça marche.
    Je reçois bien une pièce jointe et tout, le soucis est que je la reçois en .bin (binaire je suppose) donc les images je peux les voir mais les pdf/docx etc impossible

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    je t'ai montré plus haut la bonne ligne.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 75
    Points : 50
    Points
    50
    Par défaut
    Exacte, j'avais pas rajouté le 'name' :/

    Merci beaucoup !

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

Discussions similaires

  1. Envoi de formulaire possible avec PHPMailer ?
    Par CedEsc dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 11/04/2011, 10h20
  2. Vérification de formulaire avec regexp
    Par Shadow aok dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 06/08/2007, 11h57
  3. Créer un formulaire avec VBA ?
    Par Jean Bonnisme dans le forum VBA Access
    Réponses: 3
    Dernier message: 14/10/2004, 10h40
  4. Réponses: 10
    Dernier message: 10/06/2004, 16h20
  5. Gestion de formulaire avec xml et sans serveur ?
    Par meliane dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 05/05/2004, 19h57

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