PHP Classes

File: example1.php

Recommend this page to a friend!
  Classes of Shannon Wynter   LDAP class   example1.php   Download  
File: example1.php
Role: Example script
Content type: text/plain
Description: An example file
Class: LDAP class
Acess and manipulate data in LDAP servers
Author: By
Last change:
Date: 17 years ago
Size: 2,226 bytes
 

Contents

Class file image Download
<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>