| 12
 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
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 
 |    //Connexion à l'AD de l'école
   $connexion = ldap_connect("ldap.XX.XX.XX",389);
   $picklist="";
   $i=0;
   $i2=0;
   // Teste si la connexion a lieu ou pas
   if(!($connexion))
   {
   die("Erreur de connexion");
   }
   else
   {
      ldap_set_option($connexion, LDAP_OPT_PROTOCOL_VERSION, 3);
      ldap_set_option($connexion, LDAP_OPT_REFERRALS, 0);
      ldap_set_option($connexion, LDAP_OPT_SIZELIMIT, 0);
      //Autentification au serveur LDAP
      if(@ldap_bind($connexion, 'XX', 'XX'))
      {
          $dn = "OU=Classes,OU=ET,OU=XX,DC=XX,DC=XX,DC=ch";
          $filtre = "(ou=T*)";
          $cible = array("name");
          $ldapRes=ldap_search($connexion, $dn, $filtre, $cible,0,0);
          $comptage=ldap_count_entries($connexion, $ldapRes);
          //filtre tant que $i est égal au nombre de section trouvé avant.
            while($i<=$comptage)
             {
                 //Filtre pour récupérer uniquement les classes (OU) qui commencent par 1T ou 2T (Il n'y a pas d'autres années pour les techniciens)
                 $filtre2= "(|(ou=1T*)(ou=2T*))";
                 $cible2 = array("name");
                 $ldapRes2 = ldap_search($connexion, $dn, $filtre2, $cible2,0,0);
                 $comptage2 = ldap_count_entries($connexion, $ldapRes2);
                 $i++;
                   while($i2<=$comptage2)
                  {
                      //Filtre pour récupérer les noms des élèves des classes trouvées juste au dessus: Pas encore fonctionnel.
                      $filtre3 = "(&(title=Apprenant)(|(physicalDeliveryOfficeName=1T*)(physicalDeliveryOfficeName=2T*)))";
                      $cible3 = array("sn","cn");
                      $ldapRes3 = ldap_search($connexion, $dn, $filtre3, $cible3,0,0);
                      $comptage3 = ldap_count_entries($connexion, $ldapRes3);
                      $i2++;
                  }
             }
      }
      //echo de test afin de voir si le filtre est correct et qu'il
      //affiche bien le nombre de classes   : OK
      echo "$comptage<br />";
      echo "$comptage2<br />";
      echo "$comptage3<br />";
Le problème se trouve à partir d'ici
      for($j=0;$j<=$comptage2;$j++)
                            {
                            $tab1 = ldap_get_entries($connexion,$ldapRes2);
                            $classe= $tab1[0]["name"];
                            //Rempli un tableau avec les valeurs récupérées dans le filtre pour connaître toutes les classes de techniciens.
                            $picklist .="<option value=\"".$tab1[0]."\"\>".$classe."</option>";
                            }
    }
?>
Affichage dans L'html
 <form name="classe" method="post">
     <select name="listeclasse" size="1">
     <?php
     echo $picklist;
     ?>
     </select>
   </form> | 
Partager