Passer une variable dans une boucle vers un autre fichier PHP

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Passer une variable dans une boucle vers un autre fichier PHP

    Bonjour,
    Je ne sais pas si mon titre de sujet est clair !

    Voilà ce dont j'ai besoin.
    Dans une boucle je récupère les adresses emails de certains users.
    J'ai besoin d'envoyer un email à ces user, pour cela j'utilise phpmailer. (Peut-être existe-t-il une autre solution ?)

    Mon souci est : Comment passer la variable vers le fichier phpmailer?

    Le foreach qui récupère les emails.

    Code PHP:
    <?php
    <?php
    foreach($ListUsers as $element){
        {
        
    $separateur =", ";
        
    $EmailsUsers $element.$separateur;
        
    //echo $EmailsUsers."<br/>";
        
    }
    ?>

    <form method="post" action="/dev/mail.php" target="_blank">
        <input type="hidden" name="destinataires" id="destinataires" value="<?php echo $EmailsUsers?>">
        <input class = "btn btn-success btn-small" type="submit" value=" Emails " />
    </form>

    <?php ?>
    En faisant ainsi j'ai autant de bouton Emails que d'adresses emails, or il m'en faudrait qu'un seul qui transmet la variable $EmailsUsers avec tous les emails.

    Si je sors mon form du foreach, bien entendu je n'ai plus qu'une seule adresse email.

    Quelqu'un a-t-il une idée ?

    Cordialement.

    Eric

  • #2
    Re : Passer une variable dans une boucle vers un autre fichier PHP

    Hello.

    Au vu du code, on a un peu de mal à comprendre ce que tu souhaites faire.

    Voici une réponse un peu 'générique' :

    Si tu utilisais l'API d'acymailing.

    C'est ce que je fais en général.

    Tes NLs seraient composées et grées avec acymailing.

    Il te suffit alors de rajouter tes adresses de destinataires à une liste spécifique.

    Voir la doc :

    This page is meant for developers only. It shows how to develop an add-on for AcyMailing and how to use the AcyMailing code for general needs.
    A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
    Rejoignez le Joomla Users Groupe Alsace...
    roland_d_alsace va-t-il devenir roland_du_grand_est ?

    Commentaire


    • #3
      Re : Passer une variable dans une boucle vers un autre fichier PHP

      Bonsoir,
      Merci beaucoup.
      Mais il ne s'agit pas de NL.
      J'utilise Acymailing dans d'autres cas.

      J'ai besoin de passer par un POST (Il y a trop d'adresses email pour un GET, j'atteints la limite qu'autorise les navigateurs) une liste d'adresses emails vers un fichier PHP qui utilise phpmailer.
      La liste des emails est récupérée par une boucle.
      Mais si je mets mon formulaire dans la boucle bien entendu il y a autant de formulaires que d'adresses emails.
      J'ai besoin de passer toutes les adresses emails en une seule fois, autrement dit qu'un seul formulaire.

      Mais peut-être qu'il y a une autre solution que passer par un formulaire.

      Code PHP:
      <?php 
      foreach($ListUsers as $element){ 
          { 
          
      $separateur =", "
          
      $EmailsUsers $element.$separateur
          
      //echo $EmailsUsers."<br/>"; 
          

      ?> 

      <form method="post" action="/dev/mail.php" target="_blank"> 
          <input type="hidden" name="destinataires" id="destinataires" value="<?php echo $EmailsUsers?>"> 
          <input class = "btn btn-success btn-small" type="submit" value=" Emails " /> 
      </form> 

      <?php ?>

      Cordialement.

      Eric
      Dernière édition par Agrepe à 06/09/2017, 21h42

      Commentaire


      • #4
        Re : Passer une variable dans une boucle vers un autre fichier PHP

        A partir du moment où tu as +ieurs destinataire, cela devient une NL non ?
        De plus l'API permet aussi l'envoi de mails individuels.

        Par l'API :
        1) Tu génères une liste de diffusion provisoire
        2) Tu composes le corps de ta NL avec ton formulaire (ou + simple avec un article joomla associé à la bonne catégorie)
        3) ...et tu laisses acymailing s'occuper de l'envoi avec son parametrage

        Si tu as déjà acymailing pourquoi vouloir réécrire un système d'envoi ?

        Mais je ne comprends toujours pas pourquoi tu veux passer des adresses déjà connues dans ta base de données par le formulaire ?

        Le formulaire doit juste te permettre de composer le corps du mail, mais en aucun cas à faire passer les adresses.
        Au niveau sécurité cela n'est pas génial de faire 'circuler' tes adresses mails sur le web, adresses qui, de surcroit ne doivent pas forcement être connues par l'internaute qui compose la lettre.
        A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
        Rejoignez le Joomla Users Groupe Alsace...
        roland_d_alsace va-t-il devenir roland_du_grand_est ?

        Commentaire


        • #5
          Re : Passer une variable dans une boucle vers un autre fichier PHP

          Envoyé par Agrepe Voir le message
          Bonsoir,
          ...Mais peut-être qu'il y a une autre solution que passer par un formulaire.
          Oui bien sûr, dans le contexte utilisateur (session)

          Type :
          Code PHP:
          $app jfactoryGetApplication();
          $app->setUserState($this->context.'.listeemails',$EmailsUsers); 
          $this->context etant initialisé dans ton constructeur avec le nom de ton composant.

          et au retour du formulaire :

          Type :
          Code PHP:
          $app jfactoryGetApplication();
          $EmailsUsers $app->getUserState($this->context.'.listeemails',''); 
          ou tu peux assi les stocker dans un fichier local par exemple.
          A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
          Rejoignez le Joomla Users Groupe Alsace...
          roland_d_alsace va-t-il devenir roland_du_grand_est ?

          Commentaire


          • #6
            Re : Passer une variable dans une boucle vers un autre fichier PHP

            salut
            en fait tu ne veux qu'un seul bouton pour envoyer plusieurs emails en meme temps ?
            perso je me pencherais vers une requete ajax, surement ce que fait Acymailing pour rejoindre Roland
            1 bouton = 1 action qui va déclencher une fonction PHP >> dans ta fonction du récupères la liste et tu fais la boucle pour l'exécution du script PHPmail (et non pas affichage d'un formulaire)

            CEd
            Vive Joomla! http://www.joomlack.fr Tutoriels et extensions pour Joomla!. Livre création de template Joomla de plus de 200 pages.
            http://www.template-creator.com Outil de création de templates
            Module Maximenu CK - Megamenu, multicolonnes, chargement de module, description de lien, deroulement animé - Compatible Virtuemart, Hikashop

            Commentaire

            Annonce

            Réduire
            Aucune annonce pour le moment.

            Partenaire de l'association

            Réduire

            Hébergeur Web PlanetHoster
            Travaille ...
            X