Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
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 10/12/2010, 12h45   #1
Invité de passage
 
Inscription : décembre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 6
Points : 1
Points : 1
Par défaut Filtre php/ldap OU

Bonjour

je travaille sur une connexion ldap en php et ca marche bien,
maintenant j'ai envi de récupérer les utilisateurs qui appartiennent à un sous ou(organizionnalUnit) voila ce que j'ai essayer de faire mais ca ne marche pas

$data = $oLdap->getEntries (
'(&(objectClass=user)(OU=sousOU,OU=monOU,DC=mondomaine,DC=fr))',
array('sn')
);
echo ' <b>$data</b> <pre>'.print_r($data,true).'</pre>';

c'est la partie en gras qui doit normalement faire le filtre

Merci pour votre aide
pnoom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2010, 12h47   #2
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
Bonjour,

regarde du coté de ldap_search

http://fr.php.net/manual/fr/function.ldap-search.php
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2010, 14h39   #3
Invité de passage
 
Inscription : décembre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 6
Points : 1
Points : 1
Merci pour le lien je n'ai pas trouvé ce que je cherché
pnoom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2010, 14h42   #4
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
dans ce lien,

il y a un exemple de recherche avec filtres :

en gros, tes filtres, tu les applique sur la fonction ldap_search et non pas ldap_get_entries()

Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
 
<?php
// $ds doit être une ressource de connexion valide
 
// $person est un nom ou une partie de nom (par exemple, "Jean")
 
$dn = "o=My Company, c=US";
$filter="(|(sn=$person*)(givenname=$person*))";
$justthese = array("ou", "sn", "givenname", "mail");
 
$sr=ldap_search($ds, $dn, $filter, $justthese);
 
$info = ldap_get_entries($ds, $sr);
 
echo $info["count"]." entries returned\n";
?>
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2010, 15h29   #5
Invité de passage
 
Inscription : décembre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 6
Points : 1
Points : 1
Je suis d'accord avec toi que grace ldap_search quand fait la recherche et le filltre mais pour lire le resultat tu le met dans un get_entries que j'ai mis dans des fonctions voila

public function search( $filter, $justthese ) {

return ldap_search($this->connect, $this->userdn, $filter, $justthese);
}

public function getEntries( $filter, $justthese ){

return ldap_get_entries( $this->connect, $this->search( $filter, $justthese) );

}

et je te remercie encore une fois pour ton aide
pnoom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2010, 16h00   #6
Invité de passage
 
Inscription : décembre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 6
Points : 1
Points : 1
syl2095 merci pour ton aide
j'ai trouvé la solution grace à ton aide bien sur
le problème était au niveau du ldap_search je devait dans le deuxième parametre $dn je devait mettre mon ou spécifique alors que je le mettait dans le $filtre
voila la réponse pour les intéressés
Mes fonctions:
Code :
1
2
3
4
5
6
7
8
9
10
	public function search( $ou, $filter, $justthese ) {
 
		return ldap_search($this->connect, $ou, $filter, $justthese);
	}
 
	public function getEntries( $ou, $filter, $justthese ){
 
		return ldap_get_entries( $this->connect, $this->search( $ou, $filter, $justthese) );
 
	}
l'appel des fonctions:

Code :
1
2
3
4
5
6
$ou	= 'OU=sousOU,OU=monOU,DC=domaine,DC=fr';
	$data		= $oLdap->getEntries ($ou, 
		'(objectclass=user)', 
		array('sn') 
	);
	echo ' <b>$data</b> <pre>'.print_r($data,true).'</pre>';
pnoom 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 22h06.


 
 
 
 
Partenaires

Hébergement Web