Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

PHP (LDAP) Suche erstellen wie im AD (Array vergleichen)

Frage Entwicklung PHP

Mitglied: marco1234

marco1234 (Level 1) - Jetzt verbinden

07.07.2010, aktualisiert 09.07.2010, 5927 Aufrufe, 2 Kommentare

Hallo zusammen

Ich muss eine Benutzer-Suchfunktion wie im Active Directory mit PHP erstellen. Man soll nach „Muster Hans“, „Hans Muster“ oder zum Beispiel nach „Hans Mu“ suchen können.

Ich gebe also als Suche „Hans Mu“ ein und drücke auf "Suchen" (LDAP Verbindung etc. steht bereits alles)

Ich habe nun folgendes gemacht:

Den String „Hans Mu“ habe ich gesplittet und in den Array $prio2[$i] geschrieben. Bei beiden String-Teilen wird zusätzlich noch ein * angehängt. Im Array steht jetzt also:
$prio2[0] = Hans*
$prio2[1] = Mu*

Im 1. Durchgang suche ich im AD nach allen Vornamen und Nachnamen, welche „Hans“ enthalten und schreibe die Ergebnisse in den Array $row_1 bzw. $row_2

Das Gleiche natürlich auch mit dem zweiten Suchbegriff „Mu*“.

Die Ergebnisse werden in einem weiteren Array ($masterArray) gespeichert.

01.
while(isset($prio2[$i])) 
02.
03.
 
04.
	//Suche im AD nach Name			 
05.
	@$sr_1=ldap_search($ds,$base_dn, "givenname=".$prio2[$i].""); 
06.
	@$sr_2=ldap_search($ds,$base_dn, "sn=".$prio2[$i]."");	 
07.
	 
08.
	//Ergebnis in Array speichern 
09.
	@$row_1 = ldap_get_entries($ds, $sr_1);	 
10.
	@$row_2 = ldap_get_entries($ds, $sr_2);	 
11.
	 
12.
	//5 dimensionaler Array erstellen 
13.
	$masterArray[$i][0] = $row_1; 	 
14.
	$masterArray[$i][1] = $row_2; 		 
15.
	 
16.
	$i++; 
17.
}
Ich erhalte somit einen 5 dimensionalen Array. Ich kann problemlos ein Wert auslesen.
01.
echo $masterArray[0][0][0]["sn"][0];

Doch irgendwie muss ich nun diese Arrays vergleichen können. Ich habe es bereits mit "in_array" versucht. Ich glaube jedoch, dass das nicht die geeignete Funktion dafür ist…

Wir würde man am idealsten so einen Vergleich machen? Ich bin momentan ein wenig ratlos...

Danke für eure Antworten!

Gruss und einen schönen, hoffentlich sonnigen Tag

marco1234
Mitglied: Dani
07.07.2010 um 11:32 Uhr
Hi marco,
schau dir mal das Beispiel 1 hier an. Die machen das Ganze mit einer Abfrage. Somit müsste $sr ein Array sein, mit allen Einträgen.


Grüße,
Dani
Bitte warten ..
Mitglied: marco1234
07.07.2010 um 14:08 Uhr
Wow super! Hab's so gelöst und es funktioniert bestens! Vielen Dank!

01.
$dn = 'DC=******,DC=***';  
02.
$filter="(&(sn=".$prio2[0]."*)(givenname=".$prio2[1]."*))"
03.
 
04.
$sr=ldap_search($ds, $dn, $filter); 
05.
 
06.
$info = ldap_get_entries($ds, $sr); 
07.
 
08.
if($info[0][0][0] == ""
09.
10.
	$filter="(&(sn=".$prio2[1]."*)(givenname=".$prio2[0]."*))"
11.
	$sr=ldap_search($ds, $dn, $filter);					 
12.
	$info = ldap_get_entries($ds, $sr); 
13.
14.
 
15.
echo "<pre>"
16.
 print_r ($info); 
17.
echo "</pre>"; 
Bitte warten ..
Ähnliche Inhalte
PHP
PHP - LDAP l Usergruppen auslesen, vergleichen, zulassen
Frage von ThoomaasPHP4 Kommentare

Hallo alle zusammen! :-) Ich habe mal wieder ein Problem mit meinem PHP Script Vielleicht kann mir wer helfen. ...

Windows Server
LDAP in PHP
Frage von pipoomaWindows Server10 Kommentare

Halloo zusammen, ich habe Aufgabe von meinem Chef bekommt und zwar Single Sign-On. Wir entwickeln im Haus einen Portal ...

PHP
PHP - unique-array() und sort()
gelöst Frage von ThomasXYZPHP14 Kommentare

Hallo zusammen, ich bin gerade leicht am verzweifeln und finde nicht so recht die Lösung. Ich bekomme per Datenbankabfrage ...

PHP
PHP Array SELECT möglich
gelöst Frage von rumbleDomPHP1 Kommentar

Hallo Gemeinde, warscheinlich sehe ich den Wald vor lauter Bäumen mal wieder nicht. Kurzer Tipp wäre daher hilfreich :) ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 4 StundenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 4 StundenMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 12 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows Server
Kann man im KMS nachschauen , wieviele Clients den Key in Anspruch genommen haben
gelöst Frage von rainergugusWindows Server12 Kommentare

Hallo, wir haben einen KMS Windows 10 Key. Dieser ist ja W7 kompatibel. Aber unser Windows 7 Pool registriert ...