jeeroy
Goto Top

LDAP Abfrage mit PHP gibt nur Array aus?!

Hey,
wenn ich eine über LDAP eine Abfrage mithilfe von php starte, gibt er mir als Ergebnis nur das Wort "Array" aus.

das ist mein Code:
<?php

$ldap_server="*.*.*.*";  
$root_dn="O=root";     

$Informatik= "ou=WORKSTATIONS,ou=INF,ou=NORD,o=root";  

$attr = array("cn");  
$filter = "(objectClass=*)";  


if (( $ldap_con = ldap_connect($ldap_server)) == FALSE ) 
		{
			print (" Verbindung zum LDAP-Server konnte nicht hergestellt werden. ");  
		}

if (( $ldap_bin = ldap_bind($ldap_con)) == FALSE )
		{
			print (" Authentifizierung des Benutzers ist fehlgeschlagen. ");  
		}
echo "Authentifizierung war Erfolgreich, Sie sind nun verbunden mit dem Server $ldap_server !";  

$ldap_search = ldap_search($ldap_con, $Informatik, $filter, $attr, 0, 0) or die ("Ging leider schief!");  
$ldap_result = ldap_get_entries ($ldap_con, $ldap_search);
?>
<br>
<br>
<?
echo "$ldap_result";   

?>

Was dann dabei rauskommt ist folgendes:

Authentifizierung war Erfolgreich, Sie sind nun verbunden mit dem Server *.*.*.* !

Array


Bitte um Hilfe, danke!

Content-Key: 165258

Url: https://administrator.de/contentid/165258

Printed on: April 25, 2024 at 05:04 o'clock

Member: Dani
Dani Apr 27, 2011 at 12:10:51 (UTC)
Goto Top
Moin,
ich habe eine zwei Bitten an dich:

a) Benutze bitte die Formatierungsmöglichkeiten. Das macht vieles übersichtlicher und man sieht auf den ersten Blick was Code ist und was normaler Text ist
b) Habe ich nicht vor 3-4 Stunden schon mal einen ähnlichen Beitrag gesehen?! Ist der nicht mehr zu gebrauchen?!


Grüße,
Dani
Member: Jeeroy
Jeeroy Apr 27, 2011 at 12:15:51 (UTC)
Goto Top
Hey Dani,

zu a) Klar kann ich das, sorry, dass ich es eben nicht schon gemacht habe.
zu b) Vor 3-4 Stunden war so ein ähnlicher drinne, wobei ich doch nach kurzer Zeit drauf gestoßen bin und ihn dann gelöscht habe, habe seitdem jedoch das Problem.

Grüße.
Member: MarkusWi
MarkusWi Apr 27, 2011 at 12:21:25 (UTC)
Goto Top
Hallo Jeeroy,

und was sagt echo $ldap_result; bzw. 1 bis count($array);

Mfg

Markus
Member: Jeeroy
Jeeroy Apr 27, 2011 at 12:25:11 (UTC)
Goto Top
Hey Markus,

echo $ldap_result; bzw. 1

kommt auch nichts anderes und was du mit count($array) meinst, weiss ich nicht genau.

Grüße
Member: KeinDurchblick
KeinDurchblick Apr 27, 2011 at 12:32:16 (UTC)
Goto Top
Schreib mal statt

echo "$ldap_result";  

print_r($ldap_result);
Member: Jeeroy
Jeeroy Apr 27, 2011 at 12:40:38 (UTC)
Goto Top
Hey KeinDurchblick,

diese Anmerkung hat schon mal sehr weitergeholfen, nun wirds ausgegeben, jedoch werden nicht nur die Arbeitplätze in diesem beispiel INFXX141 ausgegeben, sondern dazu:
[1] => Array ( [cn] => Array ( [count] => 1  =>  INFXX141 )  => cn [count] => 1 [dn] => cn=INFXX141 ,ou=WORKSTATIONS,ou=Informatik,ou=NORD,o=root)
und das mit allen.

Grüße
Member: Arano
Arano Apr 27, 2011 at 12:46:41 (UTC)
Goto Top
Mitglied: 48507
48507 Apr 27, 2011 at 12:50:57 (UTC)
Goto Top
Das Array ist mehrdimensional:

for ($i=0; $i < $ldap_result["count"]; $i++) {  

  echo $ldap_result[$i]["cn"]."<br>";	  
}
Member: KeinDurchblick
KeinDurchblick Apr 27, 2011 at 12:57:27 (UTC)
Goto Top
Du meldest Dich aber nicht mit einem speziellen Benutzer an, sondern du generierst nur eine LDAP-Abfrage

Das ist kein einzelner Benutzer sondern eine Gruppe (Organisation Unit), also erhälst Du auch keine Einzelantwort, sondern eine Tabelle mit allen
Mitgliedern dieser Gruppe, um es jetzt mal simpel zu formulieren.

ou=WORKSTATIONS,ou=INF,ou=NORD,o=root

Wenn Du einen speziellen Benutzer abfragen willst, dann musst Du nur die Tabelle durchlaufen und sehen
ob dieser User in der Tabelle enthalten ist, oder die LDAP-Abfrage ändern.

Vesuch mal z.B.


$user="INFXX141"; // Das ist die USER-ID welche du Abfragen möchtest.  

$Informatik= "cn=".$user.",ou=WORKSTATIONS,ou=INF,ou=NORD,o=root";   
Member: Jeeroy
Jeeroy Apr 27, 2011 at 12:59:33 (UTC)
Goto Top
Hey Klasse!

Arano, danke für den Link, ich werde es mir durchlesen.
Spytnik, danke für die letzte Schleife!

Und an Alle, Danke für eure Hilfe!
Member: Jeeroy
Jeeroy Apr 27, 2011 at 13:00:53 (UTC)
Goto Top
Aso ja, das habe ich wohl Formuliert, so wie die Ausgabe nun ist sollte sie sein.

Danke für deine Hilfe!