Login   Register  
PHP Classes
elePHPant
Icontem

File: example1.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  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: 8 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>