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