In article <[EMAIL PROTECTED]>, 
[EMAIL PROTECTED] says...
> Hi,
> 
> New to the list and hoping someone might be able to help me.
> 
> I have been using PHP scripts that are to maintain a company address book
> with a lot of data about contacts, both inside and outside the company.  The
> scripts, which are generating html pages and reading input values back in,
> have been working fine with PHP 4.2.1 as a library module for apache 1.3.26
> and openldap 1.2.13.  However, openldap 2.0.23 and 25 have been generating
> errors with these same PHP scripts.
> 
> The problem comes when fields in the html pages are left empty, which is
> normal for this application.  For those familiar with the ldap_add/modify
> functions in PHP, the array that is passed in has some values, say for
> example title, fax, mobile, ... left empty, and therefore NULL (I have
> checked, they really are NULL's stored in the array).  When the values make
> it to the ldap server however, they appear to be no longer NULL's, but a
> "#0", and through debugging output on the ldap server, I have seen it is
> generating an "invalid per syntax" error.
> 
> The ldap servers have been complied from source and installed on a SuSE linux
> professional 7.3 system.  Hardware resources are no problem (640Mb RAM, 2Gb
> swap, 800Mhz processor, 130Gb HDD space with 6Gb free on the working
> partition with this stuff)
> 
> Does anyone have any suggestions as to how I can address this problem.  It
> is important that null values can make it into the ldap server as putting in
> other values to try to work around the problem will mess up other
> applications that use the ldap server, as will not inserting the fields into
> the ldap server.
> 
> Ian
> 
> The following code segment demonstrates the problem:
> 
> <?php
> $ds=ldap_connect("localhost");  // The LDAP server is on this host
> 
> if ($ds) {
>     // bind with appropriate dn to give update access
>     $r=ldap_bind($ds,"cn=ShnetAdmin, o=shnetdemo", "thepassword");
> 
>     // prepare data
>     $info["cn"]="John Jones";
>     $info["sn"]="Jones";
>     $info["mail"]="";  // <----- NULL VALUE HERE!!!!!!
>     // The following lines also produce the same result.......
>     //$info["mail"]=NULL;  // <------- NULL value here!!!!!!!
>     //$info["mail"]="\0";  // <------- NULL value here!!!!!!!
>     //$info["mail"];       // <------- NULL value here!!!!!!!

Perhaps if you were to test that the relevant values were not empty; only 
add them to the ldap database if they have a value? empty or isset are the 
functions to investigate.

Cheers
-- 
David Robley
Temporary Kiwi!

Quod subigo farinam

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

Reply via email to