Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks
Bibliothèques et frameworks Forum d'entraide sur les frameworks, templates, bibliothèques de code (PDFLib, eZPdf, JpGraph, Artichow, PEAR, etc). Avant de poster : FAQ bibliothèques, toutes les FAQ PHP et cours bibliothèques
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/03/2008, 22h45   #1
Débutant
 
Inscription : octobre 2007
Messages : 256
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 256
Points : 57
Points : 57
Par défaut [LDAP] la fonction ldap_search()

bonsoir a tout le monde je voici un code php qui accéde a Active Directory
Code :
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
73
74
75
76
77
78
79
80
81
82
 
 
<body>
<?php
$user = "Administrateur@essaie.du";
$pass = "dd"; 
echo "<h3>Test LDAP n° 1</h3>";
echo "Connexion ...<br />";
$ds = ldap_connect ("localhost","389") or die ("error");
echo "Le résultat est ".$ds."<br />";
 
 
echo "Attachement...";
 ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);// c'est la derniere version de LDAP
 
 
$bd = ldap_bind($ds, $user, $pass)or die("Couldn't bind to AD!");
 
  $result = ldap_search($ds, "DC=essaie,DC=du", "objectClass=User");
  $val = ldap_get_entries($ds, $result);// val est un tableux
 
  echo "Nombre de personnes trouvées : ".$val["count"]. "<p>";
  for ($i=0;$i<$val["count"];$i++)
  {
 
 echo "dn : ". $val[$i]["dn"] ."<br>";// afichier DN des user
 echo "phone ".$val[$i]["telephoneNumber"][0]."<br>";
 echo "name;".$val[$i]["name"][0]."<br>";
 echo "description ".$val[$i]["description"][0]."<br>";
 echo "display  ".$val[$i]["displayName"][0]."<br>";
 echo "mail".$val[$i]["mail"][0]."<br>";
 
 echo "log" .$val[$i]["logonCount"][0]."<br>";
 echo "pay".$val[$i]["c"][0]."<br>";// comme dz fr deux caractére
 echo "name of country".$val[$i]["co"][0]."<br>";
 echo "adresse postale ".$val[$i]["postalAddress"]."<br>";
 echo "adresse postale ".$val[$i]["postalCode"]."<br>";
 echo "first name :".$val[$i]["givenName"][0]."<br>";
 echo "adresse :".$val[$i]["     
 
homePostalAddress"][0]."<br>";
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>
 
<body>
<?php
$user = "Administrateur@essaie.du";// mon nom d utilisateur c'est la convetion de active Directory d'utiliser le @
$pass = "dd";// mon mot de passe  
echo "<h3>Test LDAP n° 1</h3>";
echo "Connexion ...<br />";
$ds = ldap_connect ("localhost","389") or die ("error");
echo "Le résultat est ".$ds."<br />";
 
 
echo "Attachement...";
 ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);// c'est la dernière version de LDAP
 
 
$bd = ldap_bind($ds, $user, $pass)or die("Couldn't bind to AD!");
 
  $result = ldap_search($ds, "DC=essaie,DC=du", "objectClass=User");
  $val = ldap_get_entries($ds, $result);// val est un tableux
 
  echo "Nombre de personnes trouvées : ".$val["count"]. "<p>";
  for ($i=0;$i<$val["count"];$i++)
  {
 
 
 echo "display  ".$val[$i]["displayName"][0]."<br>";
 echo "mail".$val[$i]["mail"][0]."<br>";
 
 echo "log" .$val[$i]["logonCount"][0]."<br>";
 echo "pay".$val[$i]["c"][0]."<br>";// comme dz fr deux caractére
 echo "name of country".$val[$i]["co"][0]."<br>";
 echo "adresse postale ".$val[$i]["postalAddress"]."<br>";
 echo "adresse postale ".$val[$i]["postalCode"]."<br>";
 echo "first name :".$val[$i]["givenName"][0]."<br>";
 echo "adresse :".$val[$i]["homePostalAddress"][0]."<br>";
mais il veut pas afficher l'adresse du l'utilisateur ni son nom !!

je voudrais bien connaitre l'erreur !!!

merci d'avance
adel.87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2008, 22h57   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Réponse dans la FAQ : Pourquoi la récupération des attributs de ldap_get_entries est-elle impossible ? : les clés du tableau renvoyé par la fonction ldap_get_entries sont exclusivement en minuscules !
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2008, 23h50   #3
Débutant
 
Inscription : octobre 2007
Messages : 256
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 256
Points : 57
Points : 57
Par défaut remerciment

je voudrais vous remerciez pour votre aide le code marche

mais il ne veut pas afficher l'adresse peut être l'indice est faux

merci
adel.87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 00h06   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Le saut de ligne précédent homepostaladdress est bien une erreur ? Ne manque-t-il pas un indice au niveau de $val[$i]["postaladdress"] et $val[$i]["postalcode"] ?

Je vous recommande de vérifier le contenu de votre tableau via la fonction var_dump ou print_r (var_dump($val[$i]) dans le corps de la boucle), ceci vous permettra de prendre connaissance de son contenu exact en y incluant ses différentes clés
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2008, 00h02   #5
Débutant
 
Inscription : octobre 2007
Messages : 256
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 256
Points : 57
Points : 57
Par défaut réponse

bonsoir j'ai trouvé que le nom de l'adresse de utilisateur est streetAddress

je vous remercie de votre aide
adel.87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h39.


 
 
 
 
Partenaires

Hébergement Web