Partage
  • Partager sur Facebook
  • Partager sur Twitter

Souci avec une boucle et la fonction mail()

Sujet résolu
    22 avril 2006 à 20:16:03

    Bonjour,

    Voila j'ai un petit problème avec une boucle et la fonction mail() :


    $mailiop = 'From: admin@monsite.com' . "\r\n" .
               'Reply-To: admin@monsite.com' . "\r\n" .
        'X-Mailer: PHP/' . phpversion();

    $message = strtolower(addslashes($_POST['message']));
    $titre = strtolower(addslashes($_POST['titre']));

    $reponse = mysql_query("SELECT * FROM `newsletter` ");
            while ($donnees = mysql_fetch_array($reponse) )
            {
     
                      $mail_crypt = $donnees['mail_md5'];
                      $mail = $donnees['mail'];
     


    $message.="
    ---
    *Pour vous désinscrire de notre Newsletter, cliquez sur http://www.monsite.com/membres/smop__newsletter.php?mb=$mail_crypt

    \n"
    ;


    mail ($mail, $titre, $message, $mailiop);




    Voila ce code fonctionne, certes, mais il a un souci a cause de la boucle, s'il y'a 3 membres inscrits à la newsletter, l'email va être :


    //Ceci est le message de la newsletter

    ---
    *Pour vous désinscrire de notre Newsletter, cliquez sur http://www.monsite.com/membres/smop__newsletter.php?mb=fdkjdfs23fds5

    ---
    *Pour vous désinscrire de notre Newsletter, cliquez sur http://www.monsite.com/membres/smop__newsletter.php?mb=dfkfds53sfd54

    ---
    *Pour vous désinscrire de notre Newsletter, cliquez sur http://www.monsite.com/membres/smop__newsletter.php?mb=54fg45f42fg54



    Comme vous pouvez le voir, il y'a 3 fois
    ---
    *Pour vous désinscrire de notre Newsletter, cliquez sur http://www.monsite.com/membres/smop__newsletter.php?mb=(md5dumail)
    car il y'a 3 membres inscrits.

    Si je ne met pas la boucle, l'adresse ou la personne doit cliquer pour se désinscrire va étre la méme pour tous les inscrits, un problème se pose donc :euh: .

    Merci à vous, bonne journée :D
    • Partager sur Facebook
    • Partager sur Twitter
      23 avril 2006 à 1:52:54

      Sa:

      $message.="
      ---
      *Pour vous désinscrire de notre Newsletter, cliquez sur http://www.monsite.com/membres/smop__newsletter.php?mb=$mail_crypt

      \n"
      ;


      mail ($mail, $titre, $message, $mailiop);



      Tu le remplace par sa.


      $message2= $message."
      ---
      *Pour vous désinscrire de notre Newsletter, cliquez sur http://www.monsite.com/membres/smop__newsletter.php?mb=$mail_crypt

      \n"
      ;


      mail ($mail, $titre, $message2, $mailiop);
      • Partager sur Facebook
      • Partager sur Twitter
        23 avril 2006 à 1:59:54

        Mais pourquoi tu mets ça dans la boucle, il suffit de faire un remplacement avec sprintf par exemple ;)

        $message = strtolower(addslashes($_POST['message']))."\n".'---'."\n".'
        *Pour vous désinscrire de notre Newsletter, cliquez sur http://www.monsite.com/membres/smop__newsletter.php?mb=%s'
        ;
        while(...) :
          mail ($mail, $titre, sprintf($message, $mail_crypt), $mailiop);
        endwhile;

        Voilà un exemple, sinon, tu peux tt simplement ajouter le reste directement dans la fonction mail() de manière à ne pas avoir besoin de recréer de variable.

        Bonne soirée !
        • Partager sur Facebook
        • Partager sur Twitter
          23 avril 2006 à 9:23:34

          Merci à vous deux, sa fonctionne niquel ;)

          Bonne journée :)
          • Partager sur Facebook
          • Partager sur Twitter

          Souci avec une boucle et la fonction mail()

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown