<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>
 
 |