[prb] : ajout dans LDAP

Renus02 Messages postés 182 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 22 octobre 2010 - 1 déc. 2005 à 15:09
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 - 1 déc. 2005 à 19:14
Bonjour,



j'ai le probleme suivant, j'utilise l'annuair LDAP (openLdap) et je
fait la connexion avec les librairie DB de Pear, le prb c'est que la
conexion et linterrogation de l'annuair marche tres bien, mais l'ajout
dans l'annuair ne marche pas lui (sans message d'erreur, sauf si je
fais un var_dump()) j'ai cherché longtmp mais je ne vois pas d'erreurs.



Mon code :






<meta http-equiv= "Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Kate, the KDE Advanced Text Editor">

<?
require_once("DB.php");

class Ldap{

private $ldap;

function __construct()
{

$BASE_LDAP = "dc= xxx,dc=local";
$DSN_LDAP = "ldap3://cn=Manager,$BASE_LDAP:monPass@localhost/$BASE_LDAP";
ldap_set_option($this->ldap, LDAP_OPT_PROTOCOL_VERSION, 3);


$this->ldap= DB::connect($DSN_LDAP);
if(DB::isError($this->ldap)) die ("$this->ldap->message($this->ldap->code) $this->ldap->userinfo");
}

function add()
{

$ldap_row =array();
$ldap_row["dn"]= "uid=ID0005,ou=Users,dc=xxx,dc=local";
$ldap_row["objectclass"] = "uidObject";
$ldap_row["objectclass"] = "person";
$ldap_row["uid"] = "ID0005";
$ldap_row["userpassword"] = "fionfion";
$ldap_row["cn"] = "Renaud XXXXX";
$ldap_row["sn"] = "renus";


$rep = $this->ldap->simpleQuery(
array(
$ldap_row,
"action" => "add",
"base_dn" => "ou=Users,dc=xxx,dc=local"
)
);
if(DB::isError($this->ldap)) die ("$this->ldap->message($this->ldap->code) $this->ldap->userinfo");
}

}
?>

Si queslqu'un avait la solution je lui serait extrement reconnaissant ;)

Merci a tous

3 réponses

FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
1 déc. 2005 à 16:27
"$this->ldap= DB::connect($DSN_LDAP);

"

Moi c'est ta classe de DB qui me fait peur. Tu l'appèles sans l'instancier ? Pourquoi pas... mais :

"$rep = $this->ldap->simpleQuery"

Heu, la je veux voir le code de la classe de DB. Tu renvoie "$this" dans ta classe DB ? Ca m'étonnerait bien ca...
0
Renus02 Messages postés 182 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 22 octobre 2010
1 déc. 2005 à 16:59
DB es une librairie de pear je l'ai toujours utilisé de cette maniere...sa marche tres bien pour Postgres ou encore mysql,

j'ai installer les librairie qui permettai de faire la connexion ldap
...les exemples fournits indique aussi cette maniere de faire,



je comprend pas pourquoi cela te derange : "$this->ldap->simpleQuery"


ldap est une variable privée de ma classe je l'apelle dans mes fonctions de cette maniere : $this->ldap

elle est intancié dans le constructeur par :




<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Kate, the KDE Advanced Text Editor">

"$this->ldap= DB::connect($DSN_LDAP);"

c donc le resultat de cette connexion qui effectue la fonction simpleQuery
ya t'il reelement une erreur ?

Merci de t'interesser ;)
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
1 déc. 2005 à 19:14
Nan, c'est que je n'utilise jamais les fonctions DB de pear c'est pour ca... :)

Parce que sinon je ne vois pas d'erreurs.

$this->ldap->simpleQuery() ? J'ai beau regarder dans la doc mais je trouve pas. Par contre, je trouve query();
0
Rejoignez-nous