Click here to Skip to main content
15,897,704 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hai,

I need add user in Ldap server using php.
i got error no 16

What I have tried:

<?php
$AD_server = "192.168.1.55"; 

$ds = ldap_connect($AD_server);
if ($ds) {
    ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); // IMPORTANT
    $result = ldap_bind($ds, "cn=admin,dc=sw,dc=com","jpqw$"); //BIND
	if (!$result)
	{
	echo 'Not Binded';
	}
	
     $ldaprecord['objectclass'][0] = "inetorgperson";
     $ldaprecord['objectclass'][1] = "posixaccount";
     $ldaprecord['objectclass'][2] = "top";
     $ldaprecord['cn'] = 'netbeans';
     $ldaprecord['givenname'] = 'netbeans1';
     $ldaprecord['sn'] = 'netbeans2';
     $ldaprecord['mail'] = 'emai@gmail.com';
     $ldaprecord['mobile'] = '+91 1234567890';
     $ldaprecord['uid'] = 'nb';
     $ldaprecord['displayname'] = 'netbeans';
     $ldaprecord['uidnumber'] = '1005';
     $ldaprecord['gidnumber'] = '501';
     $ldaprecord['userpassword'] = "{crypt}123456";
     $ldaprecord['gecos'] = 'netbeans';
     $ldaprecord['loginshell'] = '/bin/sh';
     $ldaprecord['homedirectory'] = '/home/users/nb'; 
     $ldaprecord['shadowexpire'] = '-1';
     $ldaprecord['shadowflag'] = '0'; 
     $ldaprecord['shadowwarning'] = '7'; 
     $ldaprecord['shadowmin'] = '8'; 
     $ldaprecord['shadowmax'] = '999999';
     $ldaprecord['shadowlastchange'] = '10877';
     $ldaprecord['postalcode'] = '31000';
     $ldaprecord['l'] = 'toulouse';
     $ldaprecord['o'] = 'example';
     $ldaprecord['homephone'] = '+33 (0)40 35963258';
     $ldaprecord['title'] = 'system administrator'; 
     $ldaprecord['postaladdress'] = '';
     $ldaprecord['initials'] = 'jd';
     
		
		

		
		
		
// $ldaprecord["cn"] = "testuser";
// $ldaprecord["givenname"] = "Test";
// $ldaprecord["sn"] = "User";
// $ldaprecord["sAMAccountName"] = "testuser";
// $ldaprecord['userPrincipalName'] = "testuser@rndsw.com";
// $ldaprecord["objectClass"] = "user";
// $ldaprecord["displayname"] = "Test User";
// $ldaprecord["userPassword"] = "Password01";
// $ldaprecord["userAccountControl"] = "544";
 $base_dn = "cn=netbeans,cn=HR,ou=cbe,dc=sw,dc=com";
    $r = ldap_add($ds, $base_dn, $ldaprecord);
   if ($r)
   {
   echo 'Success';
   }
   else
   {
   echo ldap_errno($ds) ;
   }
} else {
    echo "cannot connect to LDAP server at $AD_server.";
}
?>
Posted
Updated 17-Mar-17 2:00am
Comments
Jochen Arndt 17-Mar-17 7:17am    
Not shure if it helps but you should give it a try.

Avoid setting empty attributes:

//$ldaprecord['postaladdress'] = '';
Nataraj Pandiyan 17-Mar-17 7:50am    
Your Right and Thank u
Jochen Arndt 17-Mar-17 7:52am    
Fine to hear that it was the solution.

I will post one so that the question has an answer.

1 solution

Avoid setting empty attributes with LDAP.

In your case comment the corresponding line:
PHP
//$ldaprecord['postaladdress'] = '';
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900