Strange problem: Taking the 2 halfs of the scripts (the section to update uidNumber
and the one to add the user) and combining them causes
an error:
Fatal error: ldap_add() [http://www.php.net/function.ldap-add]: Unknown attribute in
the data in /home/jwgreene/ldap-add.php on line 68
Yes doing them as 2 seperate scripts works fine. I did read something about not being
able to do a modify, and add in the same statment, so I do a ldap_unbind after the
completion
of the first. Still does the same thing. Any help would be appreciated.. Thanks
<?php
// LDAP variables
$ldaphost = "ldap.server"; // your ldap servers
$ldapport = 389; // your ldap server's port number
$ldaprdn = "cn=Directory Manager"; // ldap rdn or dn
$ldappass = "test123"; // associated password
$dn2="uid=default, ou=Users, dc=megalink, dc=net";
// Connecting to LDAP
$ldapconn = ldap_connect( $ldaphost, $ldapport )
or die("Could not connect to LDAP server.");
// connect to ldap server
if ($ldapconn) {
// binding to ldap server
$ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);
// verify binding
if ($ldapbind) {
echo "LDAP bind successful...\n";
$result=ldap_search($ldapconn,"ou=Users,dc=megalink,dc=net", "u
id=default");
$info = ldap_get_entries($ldapconn, $result);
$defaultUid = $info[0]["uidnumber"][0];
//print $defaultUid;
//print $info[0]["uidnumber"][0];
$newUid=$defaultUid+1;
print "$newUid\n";
$newinfo["uidNumber"]=$newUid;
ldap_modify($ldapconn,$dn2,$newinfo);
echo "LDAP Modify successful...\n";
ldap_unbind($ldapconn);
} else {
echo "LDAP bind failed...";
}
}
//Second half of script *works by itself*
$dn="cn=Directory Manager";
$bindPassword = "test123";
$mySalt = substr(
ereg_replace("[^a-zA-Z0-9./]","",
crypt(rand(10000000,99999999), rand(10,99))),
2, 2);
$password = crypt("test123","$mySalt");
$info["loginShell"]="/bin/false";
$info["uidNumber"]="1002";
$info["gidNumber"]="100";
$info["objectClass"][0]="posixAccount";
$info["objectClass"][1]="top";
$info["uid"]="test2";
$info["gecos"]="test";
$info["cn"]="test2";
$info["homeDirectory"]="/home/test1";
$info["userPassword"]="{crypt}test123";
if (($ldap = ldap_connect("ldap.server","389"))) {
echo "Bind Good...\n";
}
else {
echo "Connection Failed...\n";
}
if (($res = @ldap_bind($ldap, $dn, $bindPassword))) {
ldap_add($ldap, "uid=test2, ou=Users, dc=megalink, dc=net", $info);
echo "User Added...\n";
}
else {
echo "Addition Failed...\n";
}
?>
Jim G
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php