Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks
Bibliothèques et frameworks Forum d'entraide sur les frameworks, templates, bibliothèques de code (PDFLib, eZPdf, JpGraph, Artichow, PEAR, etc). Avant de poster : FAQ bibliothèques, toutes les FAQ PHP et cours bibliothèques
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/04/2006, 11h32   #1
Membre confirmé
 
Inscription : janvier 2004
Messages : 537
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 537
Points : 264
Points : 264
Par défaut [LDAP] ldap_add(): Add: Protocol error

Bonjour,

J'ai créé un formulaire sur mon site dans lequel l'utilisateur saisit un certain nombre de données afin de créer une nouvelle entrée dans LDAP.

Or, lors de l'ajout, voici le message d'erreur qui s'affiche : ldap_add(): Add: Protocol error

Voici mon code : (je ne mets pas le fichier de connexion qui renvoie le $ds, mais il marche )

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$entree = array();
$entree["title"] = $_POST["txt_civilite"];
$entree["sn"] = $_POST["txt_nom"];
$entree["givenName"] = $_POST["txt_prenom"];
$entree["physicalDeliveryOfficeName"] = $_POST["txt_societe"];
$entree["mail"][0] = $_POST["txt_mail"];
$entree["mail"][1] = $_POST["txt_mail_bis"];
$entree["pager"] = $_POST["txt_url"];
$entree["telephoneNumber"][0] = $_POST["txt_tel"];
$entree["telephoneNumber"][1] = $_POST["txt_tel_bis"];
$entree["mobile"] = $_POST["txt_tel_mobile"];
$entree["telexNumber"] = $_POST["txt_fax"];
$entree["street"] = $_POST["txt_adresse"];
$entree["postalAddress"] = $_POST["txt_ville"];
$entree["postalCode"] = $_POST["txt_cp"];
$entree["businessCategory"] = $_POST["txt_categorie"];
$entree["description"] = $_POST["txt_contenu"];
$uid = strtolower(substr($_POST["txt_prenom"], 0, 1).$_POST["txt_nom"]);
$entree["uid"] = $uid;
$entree["dn"] = "uid=".$uid.",ou=Contacts,ou=People,dc=mondomaine,dc=com";
$entree["objectClass"][0] = "sambaSamAccount";
$entree["objectClass"][1] = "shadowAccount";
$entree["objectClass"][2] = "posixAccount";
$entree["objectClass"][3] = "inetOrgPerson";
$entree["sambaSID"] = "S-1-5-21-3647365645-2908293925-2059615406-20001";
$entree["cn"] = $_POST["txt_prenom"]." ".$_POST["txt_nom"];
$entree["uidNumber"] = (int) "65534";
$entree["gidNumber"] = (int) "65534";
$entree["homeDirectory"] = "/dev/null";
 
$r = ldap_add($ds, "uid=".$uid.",ou=Contacts,ou=People,dc=mondomaine,dc=com", $entree);
Merci d'avance pour votre aide.
navis84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2006, 13h19   #2
Membre émérite
 
Avatar de Yobs
 
Inscription : avril 2004
Messages : 675
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2004
Messages : 675
Points : 808
Points : 808
Envoyer un message via MSN à Yobs
As tu des champs vides? car ldap_add n'aime pas trop
__________________
Chaque problème a une solution, mais il est plus facile de répondre si le problème est correctement renseignés
Yobs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2006, 14h39   #3
Membre confirmé
 
Inscription : janvier 2004
Messages : 537
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 537
Points : 264
Points : 264
Oui, j'en ai pas mal.

J'ai réussi à faire une fonction qui a l'air de fonctionner.

Le but est de mettre dans un nouveau tableau toutes les entrées de l'ancien tableau qui ne sont pas vides.

Je suis arrivée à cette fonction :

$entree est mon ancien tableau
$new_entree est le nouveau

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
						$new_entree = array();
							foreach ($entree as $key => $value)
							{		
       							if ($value != "")
       							{
										if (is_array($value))
										{
												foreach ($value as $mv_key => $mv_cur_val) 
                      					{                                      
                          						 if ($mv_cur_val != '') 
                          						 {
                         					  			$new_entree[$key][$mv_key] = $mv_cur_val;
                         					  	 }
 
                     						 }
										}
										else
										{              						
               								$new_entree[$key] = $value;
               						}	
       							}
							}
En tout cas je te remercie pour ta réponse et ton aide !
@+
navis84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h14.


 
 
 
 
Partenaires

Hébergement Web