Bonjour
Je travail avec l'annuaire ldap et php lors de l'effacement d'une entrée un message d'erreur me revient (Warning: ldap_delete() [function.ldap-delete]: Delete: Invalid DN syntax in ).
Voici mon code fonction ldap:
<?
//variable globales
$port = 389;
$baseDN = "dc=ch-guingamp,dc=fr";
$rootDN = "cn=Manager,dc=ch-guingamp,dc=fr";
$rootpw = "secret";
$domaine= "chguingamp";
function connexionLdap() //* connection au serveur *//
{
$serveur = "localhost";
$connec = ldap_connect($serveur)
or die ("Erreur fatale lors de la connexion au serveur Ldap.");
return $connec;
}
function deconnexionLdap($connec)
{
if(!ldap_close($connec))
echo "Erreur lors de la deconnexion au serveur Ldap.";
}
function liaisonLdapRoot($connec)
{
global $rootDN, $rootpw;
ldap_set_option($connec, LDAP_OPT_PROTOCOL_VERSION, 3);
if(!$liaison = ldap_bind($connec, $rootDN, $rootpw))
echo "connection impossible avec l'annuaire.";
return $liaison;
}
function getSID()
{
global $baseDN;
global $domaine;
$connec = connexionLdap();
$liaison = liaisonLdapRoot($connec);
$res = ldap_search($connec, $baseDN, "sambadomainname=" . $domaine);
if($res)
{
$info = ldap_get_entries($connec, $res);
$SID = $info[0]["sambasid"][0];
}
else
echo "Aucun SID de renseign�dans l'annuaire";
deconnexionLdap($connec);
return $SID;
}
/**
* para : le dn l'entree a supprimer.
**/
function deleteEntry($dn)
{
$connec = connexionLdap();
$liaison = liaisonLdapRoot($connec);
ldap_delete($connec, $dn)
or die("Erreur lors de la suppression : " . $dn);
deconnexionLdap($connec);
}
/**
/////////////////////////////////////
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<?
require('fonctionsLdap.php');
global $baseDN;
$dn = "numService=" . $_GET['service'] . ",ou=Services," . $baseDN;
$UFs = getEntry("UFs", "numService", $_GET['service'], "");
if($UFs["count"] > 0)
echo "<script type=\"text/javascript\">alert('impossible de supprimer le service, il est associé à une ou plusieurs UFs.')</script>";
else
deleteEntry($dn);
?>
<script type="text/javascript">
window.location.replace("./listeServices.php");
</script>
Si quequ'un a une soluce à ce problème.
Merci d'avance
A+
Gigawatt