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 :

Problème récupération de données LDAP Php


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Problème récupération de données LDAP Php
    Bonjour, je suis nouvelle sur ce forum. Je suis en 3ème année d'un apprentissage en informatique et je dois effectuer un projet de fin de formation. J'ai choisi le PHP et il m'est donc nécessaire dans le cadre de mon projet de récupérer des informations de l'active directory de mon école pour avoir une liste des classes dans une pickilst afin de faciliter la sélection de celles ci.

    Les problème est que je ne sais pas comment récupérer la liste des classes après avoir fait mes recherches et vérifié que mes recherches retournent bien le bon nombre d'enregistrement (j'utilise en même temps Softerra Browser connecté à l'active directory pour tester les filtres avant de les mettre dans mon code) mais le nom ne s'affiche pas.



    Voici donc mon code, sans les informations d’authentification qui elles sont justes.

    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
    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>
    Merci d'avance pour votre aide!

  2. #2
    Membre actif
    Profil pro
    Responsable de service informatique
    Inscrit en
    Août 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 174
    Points : 232
    Points
    232
    Par défaut
    Bonjour,

    Fais un var_dump de ton tableau $tab1 car apparemment ldap_get_entries retourne un tableau.

    Et vois si ça correspond à ce que tu recherches comme structure.

    Natso

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Merci
    Problème réglé!! Merci de ton aide, ça m'a aidé à trouver mon erreur!!

    Bonne journée

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

Discussions similaires

  1. problème récupération de données en liaison série
    Par prison_break dans le forum C++Builder
    Réponses: 4
    Dernier message: 27/06/2007, 08h51
  2. [VB6] Problème récupération de données
    Par valie dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 29/08/2006, 12h36
  3. problème récupération de données dans des fichiers .DAT
    Par indymontpellier dans le forum Bases de données
    Réponses: 4
    Dernier message: 13/04/2006, 07h54
  4. [MySQL] Problème récupération de données avec un SELECT DISTINCT
    Par 12_darte_12 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/07/2005, 14h48
  5. [Débutant] Problème récupération de données
    Par flogreg dans le forum Servlets/JSP
    Réponses: 26
    Dernier message: 20/08/2004, 17h29

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