<html>
<head>
<title> class.ldap.php4: Example1 </title>
</head>
<body>
<?php
include('class.ldap.php4');
// The hostname of our LDAP server
$ServerHost = 'localhost';
// The base DN we'll be querying (saves lots of typing)
$BaseDN = 'ou=staff,dc=example,dc=org';
// The user we're going to try to log in as
$Username = 'fred';
// The user's password
$Password = 'barny';
// Create an ldap object
$ld = new ldap($ServerHost);
// Connect to the server
if (!$ld->connect()) {
die("Error connecting: ".$ld->ldapError."\n");
}
// We'll try to log in as a user
if ($ld->bind("uid=$Username,$BaseDN",$Password)) {
// Example of the added 'children' function
// Get a list of child nodes under our username
if ($children = $ld->children("uid=$Username,$BaseDN")) {
print "<b>Children under our $Username's node</b><pre>\n";
var_dump($children);
print "</pre>\n";
} else {
print "Error getting children: ".$ld->ldapError."<br>\n";
}
// Find an entry under the address book
// All search functions return ldapresult objects
if ($sr = $ld->searchSubtree("ou=AddressBook,dc=example,dc=org","givenName=wilma",array('cn','givenName','sn','homePhone'))) {
// Get the first entry that the search returns
// ldapresult->firstEntry returns ldapresultentry objects
if ($entry = $sr->firstEntry()) {
printEntry($entry);
// More then one result?
// ldapresultentry->nextEntry() simply updates the existing entry
while ($entry->nextEntry()) {
printEntry($entry);
}
} else {
die("Error fetching entry: ".$sr->ldapError."\n");
}
// Good idea if you're doing lots of large queries, but not required
$sr->free();
} else {
die("Error performing search: ".$ld->ldapError."\n");
}
} else {
die("Error binding: ".$ld->ldapError."\n");
}
function printEntry($entry) {
print "<b>DN:</b>".$entry->getDN();
// Fetch all the attributes
if ($attrs = $entry->getAttributes()) {
print "<b>cn:</b> ".$attrs['cn']."<br>\n";
print "<b>givenName:</b> ".$attrs['givenName']."<br>\n";
print "<b>sn:</b> ".$attrs['sn']."<br>\n";
print "<b>homePhone</b> ".$attrs['homePhone']."<br>\n";
} else {
print "Error while fetching attributes: ".$entry->ldapError."<br>\n";
}
}
?>
</body>
</html>
|