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

PHP & Base de données Discussion :

envoi mail & concatenation [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 55
    Points : 42
    Points
    42
    Par défaut envoi mail & concatenation
    Bonjour,

    J’ai un problème au niveau de mon code PHP, surement une petite erreur toute bête mais que je n’arrive pas à voir…

    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
    40
    41
    42
    43
    44
    45
        <!-- Envoie mail -->
        <?php
     
        // Connexion BDD
        //mysql_connect("localhost", "user", "mdp");
     
        $link = mysql_connect("localhost", "user", "mdp");
     
        // Recuperation des infos
        $expediteur = mysql_real_escape_string(htmlspecialchars($_POST['expediteur']), $link);
        $destinataire = mysql_real_escape_string(htmlspecialchars($_POST['destinataire']), $link);
        $titre = mysql_real_escape_string(htmlspecialchars($_POST['titre']), $link);
        $message = mysql_real_escape_string(htmlspecialchars($_POST['message']), $link);
     
         //En tete
         $headers  = 'MIME-Version: 1.0' . "\r\n";
         $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
     
         // En-tete additionnel
         $headers .= 'To: <' .$destinataire. '> \r\n';
         $headers .= 'From: <' .$expediteur. '> \r\n';
         $headers .= 'Cc: ' . "\r\n";
         $headers .= 'Bcc: ' . "\r\n";
     
         // Envoi
         mail($expediteur, $titre, $message, $headers);
     
         ?>
     
       Expediteur: <?php echo $expediteur; ?>
       <br><br>
     
       Destinataire: <?php echo $destinataire; ?>
       <br><br>
     
       Titre: <?php echo $titre; ?>
       <br><br>
     
       Headers: <?php echo $headers; ?>
       <br><br>
     
       Message: <?php echo $message; ?>
       <br><br>
     
       Test: <?php echo 'To: <' .$destinataire. '>' . "\r\n"; ?>
    Expediteur, destinataire, titre, message s'affichent correctement mais le problème c'est vraiment le headers !!! Il affiche toujours :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Headers: MIME-Version: 1.0 Content-type: text/html; charset=iso-8859-1 To:  From:  Cc: Bcc:
    Face au from et to il ne s'affiche jamais l'expéditeur ou destinataire... Peut-être un problème de concaténation... Je suis un peu perdu car destinataire et expediteur s'affiche sans problème au dessus...

    Quelqu'un peut-il m'aider svp?

    Merci d'avance,

  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
    ils n'apparaissent pas sur la page car ils sont entre < > et sont interprétés comme un tag HTML, si tu regardes la source de ta page, tu dois les voir.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé Avatar de Inazo
    Profil pro
    Gérant - société de développement web
    Inscrit en
    Avril 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Gérant - société de développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 417
    Points : 632
    Points
    632
    Par défaut
    Bonjour,

    Donc si tu veux vraiment pouvoir les visualiser remplace le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Headers: <?php echo $headers; ?>

    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Headers: <?php echo htmlspecialchars($headers); ?>
    Cordialement,

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 55
    Points : 42
    Points
    42
    Par défaut
    Je dois vraiment être bête parce que même avec cette piste en or je n'y arrive pas... dsl

    Declaration :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //En tete
         $headers  = 'MIME-Version: 1.0' . "\r\n";
         $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
     
         // En-tete additionnel
         //$headers .= 'From: ' .htmlspecialchars('<'). $expediteur. htmlspecialchars('>') . ' \r\n';
     
         $headers .= htmlspecialchars("To : <$expediteur> \r\n", ENT_QUOTES);
         $headers .= htmlspecialchars("From : <$destinataire> \r\n", ENT_QUOTES);
         $headers .= 'Cc: ' . "\r\n";
         $headers .= 'Bcc: ' . "\r\n";
    Affichage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Headers: <?php echo htmlspecialchars($headers); ?>
       <br><br>
     
       TEST: <?php echo htmlspecialchars("To : <$expediteur> \r\n", ENT_QUOTES); ?>
       <br><br>
    Résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Headers: MIME-Version: 1.0 Content-type: text/html; charset=iso-8859-1 To : <bill@windows.com> From : <gates@windows.com> Cc: Bcc:
     
    TEST: To : <bill@windows.com>
    Or je voudrais que je résultat soit :

    Headers: MIME-Version: 1.0 Content-type: text/html; charset=iso-8859-1 To : <bill@windows.com> From : <gates@windows.com> Cc: Bcc:

    Quelqu'un peut il m'aider svp?

    Merci d'avance,

    PS : "gates@windows.com" et "bill@windows.com" sont en exemple ici

  5. #5
    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
    Ca devient une profustion de htmlspecialchars() ton code
    Tu ne dois l'utiliser que lorsque tu affiches avec echo sinon ton mail sera mal construit.

    Si tu n'y arrives pas redonne nous ton code actuel.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 55
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Ca devient une profustion de htmlspecialchars() ton code
    Oui carrément d'accord, je m'y perd moi même :S

    Voici mon code actuel je l'ai commenté pour que ca soit plus simple pour vous:


    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
        <!-- Envoie mail -->
        <?php
     
        $link = mysql_connect("localhost", "user", "login");
     
        // Recuperation des infos
        $expediteur = mysql_real_escape_string(htmlspecialchars($_POST['expediteur']), $link);
        $destinataire = mysql_real_escape_string(htmlspecialchars($_POST['destinataire']), $link);
        $titre = mysql_real_escape_string(htmlspecialchars($_POST['titre']), $link);
        $message = mysql_real_escape_string(htmlspecialchars($_POST['message']), $link);
     
         //En tete
         $headers  = 'MIME-Version: 1.0' . "\r\n";
         $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
     
         // En-tete additionnel
         $headers .= htmlspecialchars("To : <$expediteur> \r\n", ENT_QUOTES);
         $headers .= htmlspecialchars("From : <$destinataire> \r\n", ENT_QUOTES);
         $headers .= 'Cc: ' . "\r\n";
         $headers .= 'Bcc: ' . "\r\n";
     
         // Envoi du mail
         if (mail($expediteur, $titre, $message, $headers))
             {
             $result = "Message envoye avec succes !!!";
             }
         else
         {
             $result = "Une erreur est apparue lors de l'envoie du message";
         }
     
        <?php
        echo $result;
        ?>
     
       Expediteur: <?php echo $expediteur; ?>
       <br><br>
     
       Destinataire: <?php echo $destinataire; ?>
       <br><br>
     
       Titre: <?php echo $titre; ?>
       <br><br>
     
       Headers: <?php echo htmlspecialchars($headers); ?>
       <br><br>
     
       Message: <?php echo $message; ?>
       <br><br>
     
       TEST: <?php echo htmlspecialchars("To : <$expediteur> \r\n", ENT_QUOTES); ?>
       <br><br>
    Voila j'espère que mon code et le problème est clair pour tout le monde sinon n'hésitez pas à poser des questions.

    Merci d'avance,

  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 ne dois l'utiliser que lorsque tu affiches avec echo
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 55
    Points : 42
    Points
    42
    Par défaut
    Resolu

    Merci

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

Discussions similaires

  1. [XL-2002] Concatener des cellules non vides pour faire liste d'envoi mail
    Par tchoutchou69 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 25/11/2011, 10h38
  2. [javamail] envoi mail avec message en pièce jointe
    Par k4eve dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 16/11/2007, 11h17
  3. envoi mail avec piece jointe fichier excel
    Par flogreg dans le forum ASP
    Réponses: 12
    Dernier message: 20/12/2004, 16h02
  4. [Envoi mails]Récupérer les enregistrements MX d'un domaine
    Par streetpc dans le forum Développement
    Réponses: 7
    Dernier message: 09/06/2004, 20h00
  5. pb envoi mail CDONTS
    Par flatron dans le forum ASP
    Réponses: 2
    Dernier message: 30/12/2003, 16h23

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