Just in case anyone was wondering, here's a bit more info.  I'm not sure 
why some attributes show up the other way though:


$baseDN = "dc=mydomain,dc=com";
$bindDN = "uid=dumbuser,dc=mydomain,dc=com";
$bindPass = "mypass";

$linkID = ldap_connect(ldapServer,ldapPort);
if ($linkID)
        if (ldap_bind($linkID,$bindDN,$bindPass) == false)
                        DO SOME ERROR PARSING

$filter = "uid=dumbuser";
$search = ldap_search($linkID,$baseDN,$filter);
$entry = ldap_first_entry($linkID,$search);  #<- ALL TOO IMPORTANT LINE
$values = ldap_get_values($linkID,$entry,"departmentNumber");
for ($i = 0; $i < $values["count"]; $i++)
        print $i . ":" . $values[$i] . <br>\n";


Now (for some reason I haven't figured out yet) if you don't do the 
ldap_first_entry() step, you cannot access all of the attribute values 
returned from the $search!

You can test by commenting it out and changing the $values line to use 
the $search value as the second arg.

I hope that helps someone.  I could have used it for sure.

David Christensen wrote:

> Not sure if this is the right list for this, but I didn't see any others 
> on the PHP web site that made sense...
> I'm using the following packages:
> php-common-4.1.2-1mdk
> php-4.1.2-1mdk
> mod_php-4.1.2-1mdk
> php-ldap-4.1.2-1mdk
> openldap-clients-2.0.21-1.1mdk
> openldap-servers-2.0.21-1.1mdk
> openldap-2.0.21-1.1mdk
> libldap2-2.0.21-1.1mdk
> php-ldap-4.1.2-1mdk
> apache-modules-1.3.23-4mdk
> apache-common-1.3.23-4mdk
> apache-conf-1.3.23-3mdk
> apache-1.3.23-4mdk
> I'm trying to use my LDAP server for privilege access to certain 
> portions of the site.  I'm verifying the user's account information via 
> LDAP and that seems to work ok, because I can bind and do a modify on 
> the user's information.  I'm updating a particular field to hold the 
> sessionID and a time stamp.  The record updates just fine, because I can 
> do a "ldapsearch" from the command line on the server using the same 
> credentials I use in PHP and I can see the update.
> I also have the server WIDE OPEN at the moment to test.  I didn't want 
> any stray ACL's to get in the way of debugging this.
> The problem arises when I try to read back all of the attributes within 
> the PHP script.  I can see only certain attributes: uid, mail, cn (the 
> normal stuff) but if I try to read these fields that I want to use for 
> the session, they don't print in PHP, but the show up from the LDAP 
> command line util.  The fields include: employeeNumber, carLicense, 
> departmentNumber.
> Like I said earlier, I can update them from PHP, just can't read them back.
> Any ideas are greatly appreciated!
> David Christensen

PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to