Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

ldap-search filter problem bei mehreren kriterien

Frage Entwicklung PHP

Mitglied: risker

risker (Level 1) - Jetzt verbinden

08.10.2009, aktualisiert 14:22 Uhr, 6218 Aufrufe

Hallo,

Ich baue momentan an einer kleinen Telefonliste in PHP.

Diese soll per Filter alle Kontakte+User auslesen, welche auch eine Telephonnummer haben, außerdem sollen Einträge mit dem Namen Schule nicht erwähnt werden.

Folgendes hat ich mir überlegt (erstmal nur Telefonnummer + Schule

01.
<?php 
02.
/* 
03.
	Author: - 
04.
	Datum: 08.10.2009 
05.
	Funktion: Aufbau eines neuen Telefonverzeichnisses auf Basis des ADs 
06.
*/ 
07.
	// Allgemeine Variablen, welche nötig für den LDAP Zugriff sind 
08.
	$ldap_server = servername'; 
09.
	$ldap_user = 'username'; 
10.
	$ldap_password = 'passwort'; 
11.
	$ldap_basedn = 'dn'; 
12.
	// Nach was soll gesucht werden? 
13.
	#$filter = "(|(objectClass=contact)(objectClass=user))"; 
14.
	$filter = "(&(!displayName=*Schule*)(telephoneNumber=*))"; 
15.
	// Verbinde mit Ldap Server 
16.
	$ds = ldap_connect($ldap_server) or die (ldap_error($ds)); 
17.
		// Angeblich nötig für den Zugriff auf ein Win2003 AD 
18.
		ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);  
19.
		ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);  
20.
		// Wenn Verbindung erfolgreich: 
21.
		if($ds){ 
22.
			$ldapbind = @ldap_bind($ds,$ldap_user,$ldap_password) or die (ldap_error($ds)); 
23.
			$search = ldap_search($ds,$ldap_basedn,$filter) or die (ldap_error($ds)); 
24.
			$data = ldap_get_entries($ds,$search); 
25.
			$anzahl = ldap_count_entries($ds,$search); 
26.
			echo "Es gibt ".$anzahl." Einträge im AD"; 
27.
			 
28.
			for ($i=0; $i<$anzahl;$i++) { 
29.
				$ergebnis[$i]["sn"] = utf8_decode($data[$i]["sn"][0]); 
30.
				$ergebnis[$i]["givenname"] = utf8_decode($data[$i]["givenname"][0]); 
31.
				$ergebnis[$i]["telephoneNumber"] = utf8_decode($data[$i]["telephonenumber"][0]); 
32.
				$ergebnis[$i]["physicalDeliveryOfficeName"] = utf8_decode($data[$i]["physicaldeliveryofficename"][0]); 
33.
34.
			 
35.
		}else{ 
36.
			echo "Fehler!"; 
37.
38.
		 
39.
		 
40.
echo "<html>"; 
41.
echo "<table border=0>"; 
42.
for ($i=0; $i<$anzahl; $i++) { 
43.
    echo "<tr>"; 
44.
    echo "<td width=200>" . $ergebnis[$i]["sn"] . ", ".$ergebnis[$i]["givenname"]. "</td>"; 
45.
    echo "<td width=200>" . $ergebnis[$i]["telephoneNumber"] . "</td>"; 
46.
    echo "<td width=150>" . $ergebnis[$i]["physicalDeliveryOfficeName"] . "</td>"; 
47.
48.
echo "</table>"; 
49.
 
50.
echo "</body></html>"; 
51.
		 
52.
	 
53.
?>
Das funktioniert allerdings nur, wenn ich den Filter auf (telephoneNumer=*) setze, sonst krieg ich immer die Fehlermeldung: Bad Search Filter.


Hat jemand eine Idee für mich? Habe mich soweit ich das sehen kann, an diese Netscape SDK Discovery und self-adsi gehalten.


Grüße
Risker


Edit: Mir hat bei (!displayname=Schule) ein Klammersatz gefehlt. (!(displayname=schule))
Neuester Wissensbeitrag
Ähnliche Inhalte
Outlook & Mail
gelöst Outlook 2010 E-Mail Filter ohne Windows Search Dienst ? (4)

Frage von danieluk15 zum Thema Outlook & Mail ...

Mac OS X
MAC-Problem an einer W2k8 R2 Domain

Frage von Leo-le zum Thema Mac OS X ...

Server-Hardware
Netzwerk mit mehreren PoE-Switchen (7)

Frage von kluska zum Thema Server-Hardware ...

PHP
PHP PDO Problem (1)

Frage von Tiggr1994 zum Thema PHP ...

Heiß diskutierte Inhalte
Google Android
gelöst Android-Handy versehentlich (dauerhaft) gesperrt? (23)

Frage von FA-jka zum Thema Google Android ...

DSL, VDSL
gelöst DSL 200m verlängern (14)

Frage von Angela44 zum Thema DSL, VDSL ...

Batch & Shell
gelöst Ordner und Datei Name gleich (BATCH) (12)

Frage von clragon zum Thema Batch & Shell ...

Windows Server
SBS 2011 Standard virtualisieren (11)

Frage von HeinrichM zum Thema Windows Server ...