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 :

[Mail] Tout récupérer


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de Paniez
    Homme Profil pro
    Communication & Webservices
    Inscrit en
    Janvier 2003
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Communication & Webservices
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 186
    Points : 107
    Points
    107
    Par défaut [Mail] Tout récupérer
    Bonjour,
    J'ai un petit soucis sur mon script php.
    J'ai fait mon formulaire avec une liste deroulante pour les destinataire :
    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    <form method="post" action="index.php?page=envoi_mail">
            <table>
              <tr>
                <td>
                  Mail de :
                </td>
     
                <td colspan="3">
                  <select name="expediteur">
                    <option value="1">Item1>/option>
                  </select>
                </td>
              </tr>
              <tr>
                <td>
                  Pour :
                </td>
                <td colspan="3">
     
                  <select name="liste_dest[]" multiple="multiple">
     
                    <option value="1">Item1>/option>
                      ....
               </select>
     
     
                  </td>
              </tr>
              <tr>
                  <td>
                      Sujet du mail :
                  </td>
                  <td colspan="3">
                      <input type=text name="sujet" />
                  </td>
     
              </tr>
              <tr>
                  <td>
                      Contenu :
                  </td>
                  <td colspan="3">
              <textarea name="commentaires" cols="50" rows="5">Informations &agrave; envoyer aux membres s&eacute;lectionner</textarea>
                  </td>
              <tr>
     
                  <td>
                  </td>
                  <td>
              <input type="submit" value="Envoyer" />
                  </td>
                  <td>
              <input type="reset" value="Effacer" align="center" />
                  </td>
                  <td>
     
              <input type="button" value="Retour" onclick="document.open('index.php?page=membre','_self','');" />
                  </td>
              </tr>
            </table>
          </form>
    Et voici, pour le moment le code d'affichage (obtenu dans la FAQ d'ailleurs):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    $listDEST=$_POST['liste_dest'];
    foreach($listDEST as $elem)
    {
        echo $elem.'<br/>' ;
    }
    ?>
    Sur cette page de traitement, j'ai bien les éléments que j'ai sélectionné dans le formulaire précédent de ma liste: "liste_dest[]".
    Mais, j'aimerais avoir la même chose sans les sélectionner, c'est-à-dire, que j'aimerais afficher tout mon tableau "liste_dest[]" sans à avoir à sélectionner tous les éléments.

    Merci d'avance

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Si tu utilises un formulaire, cela signifie que tu souhaites que l'utilisateur choisisse des options parmi toutes celles que tu proposes.
    Si tu veux afficher toutes les options sans tenir compte de la sélection de l'utilisateur, alors un formulaire n'est pas la bonne méthode. Définis un array() contenant tous tes choix et applique foreach dessus, cela devrait faire l'affaire.

  3. #3
    Membre régulier Avatar de Paniez
    Homme Profil pro
    Communication & Webservices
    Inscrit en
    Janvier 2003
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Communication & Webservices
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 186
    Points : 107
    Points
    107
    Par défaut
    Citation Envoyé par Yogui
    Salut
    Définis un array() contenant tous tes choix et applique foreach dessus, cela devrait faire l'affaire.
    Effectivement, c'est plus celà que je recherche, mais du coup, j'ai déjà ces données sous forme de tableau dans ma première page, mais comment je fais pour transmettre ce "Array" à ma page de traitement ($_POST['mon_array'] par exemple ?)

  4. #4
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Je crois que tu inverses les concepts : c'est à PHP de générer ton code HTML, pas l'inverse. Tu peux créer une variable comme je te le propose et utiliser un autre foreach afin de générer ton code HTML, si ce qui t'ennuie est de répéter la création du tableau.

    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
    <?php
     
    $destinataires = array(1 => 'Paniez', 2 => 'Yogui');
     
    //
    // Le formulaire
    //
    echo '<u>Formulaire</u><br />';
    $action = basename(__FILE__);
    echo "<form method='post' action='$action'>";
    echo '<select name="list_dest[]" multiple="multiple">';
    foreach($destinataires as $id => $nom)
    {
       echo "<option value='$id'>$nom</option>";
    }
    echo '</select><br />';
    echo '<input type="submit" value="Envoyer" />';
    echo '</form><br />';
     
    //
    // La liste simple
    //
    echo '<u>Liste</u><br />';
    foreach($destinataires as $id => $nom)
    {
       echo $id.' : '.$nom.'<br />';
    }
    echo '<br /><br />';
     
    //
    // Le traitement du formulaire
    //
    if(!empty($_POST['list_dest']))
    {
       echo '<u>Traitement</u><br />';
       foreach($_POST['list_dest'] as $id)
       {
          echo $id.' : '.$destinataires[$id].'<br />';
       }
    }
     
    ?>

  5. #5
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 110
    Points : 76
    Points
    76
    Par défaut
    Tu peux le définir dans un fichier à part et faire un include de ce fichier sur chaque page.
    Ca te permettrait en plus d'utilsier foreach pour définir ton select.

    Désolé Yogui, réponses croisées !
    Un seul point-virgule vous manque et tout est dépeuplé.

  6. #6
    Membre régulier Avatar de Paniez
    Homme Profil pro
    Communication & Webservices
    Inscrit en
    Janvier 2003
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Communication & Webservices
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 186
    Points : 107
    Points
    107
    Par défaut
    Re,
    En fait, pour être précis, cette liste est générée avant :
    j'ai une liste de mes membres avec une checbox en face de chacun d'entre eux et je récupère la liste :
    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
     
          <form method="post" action="index.php?page=envoi_mail">
            <table>
              <tr>
                  <select name="liste_dest[]" multiple="multiple">
                    <?php
                    $destinataire=
                      for($i=0 ; $i< sizeof($list_checkbox) ; $i++)
                        if(isset($list_checkbox[$i]))
                          echo '<option value="'.$list_checkbox[$i].'">'.$list_checkbox[$i].'</option>';
                    ?>
                  </select>
              </tr>
            </table>
          </form>
    Donc, dans $list_checkbox, j'ai ma liste des destinataires. Mais comme cette page est destinée à envoyé un mail, j'ai d'autres champs dans le formulaire (sujet du mail, l'expéditeur, ....) et du coup, dans ma page "envoi_mail", j'aimerais cette fameuse liste de destinataire.
    D'après ce que je viens de comprendre, il faudrait que je recopie $list_checkbox où que je passe ce tableau directement à envoi_mail; mais je ne sais pas comment passer cette "liste" de destinataire (enfin le tableau) à la page de traitement (envoi_mail).

  7. #7
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Soit tu recopies la variable, soit tu la mets dans un script que tu include()...

  8. #8
    Membre régulier Avatar de Paniez
    Homme Profil pro
    Communication & Webservices
    Inscrit en
    Janvier 2003
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Communication & Webservices
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 186
    Points : 107
    Points
    107
    Par défaut
    Effectivement, je comprends pas que je n'y avais pas pensé plus tôt, autant pour moi.

    Merci

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

Discussions similaires

  1. [Active Directory] Comment tout récupérer avec Delphi ?
    Par avogadro dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 16/11/2007, 11h44
  2. mail à toutes les personnes du carnet d'adresses
    Par marcel marie dans le forum Outlook
    Réponses: 7
    Dernier message: 20/09/2007, 22h27
  3. [RegEx] Tout récupérer sauf les attributs alt= et title=
    Par juJuv51 dans le forum Langage
    Réponses: 16
    Dernier message: 28/02/2007, 23h07
  4. Envoi automatique d'un mail toutes les heures
    Par VirginieGE dans le forum ASP
    Réponses: 8
    Dernier message: 24/08/2004, 08h10
  5. Scanner des mails et récupérer le fichier attaché
    Par delphim dans le forum Composants VCL
    Réponses: 2
    Dernier message: 24/04/2003, 09h35

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