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> |