PHP Handbuch
Zurück |  | Nach vorne

# ldap_compare

(PHP 4 >= 4.0.2)

ldap_compare -- Vergleicht gefundenen Wert eines Merkmal in einem Eintrag, der durch Angabe von dn bestimmt wird.

## Beschreibung

``int ldap_compare` (int Verbindungs-Kennung, string dn, string merkmal, string wert)`

Rückgabewert: wahr, wenn der `wert` gefunden wird, ansonsten `FALSE`. Tritt ein Fehler auf, wird -1 zurückgegeben.

ldap_compare() vergleicht den`wert` eines `merkmal` mit dem Wert des gleichen Merkmals in dem LDAP Verzeichniseintrag der durch `dn` bestimmt wurde.

Das folgende Beispiel zeigt, wie überprüft wird, ob ein gegebenes Kennwort mit dem Kennwort übereinstimmt oder nicht, das in dem durch DN bestimmten Eíntrag gespeichert ist.

Beispiel 1. Komplettes Beispiel einer Kennwort-Überprüfung
    <?php

    $ds=ldap_connect("localhost");  // Annahme: der LDAP Server befindet
                                    // sich auf diesem Host

    if ($ds) {

        // binden
        if(ldap_bind($ds)) {

            // Daten vobereiten
            $dn = "cn=Helga Olsen, ou=Meine Einheit, o=Meine Firma, c=FI";
            $value = "Geheimes Kennwort";
            $attr = "kennwort";

            // vergleiche die Werte
            $r=ldap_compare($ds, $dn, $attr, $value);

            if ($r === -1) {
                echo "Fehler: ".ldap_error($ds);
            } elseif ($r === TRUE) {
                echo "Kennwort korrekt.";
            } elseif ($r === FALSE) {
                echo "Falsch geraten! Kennwort nicht korrekt.";
            }

        } else {
            echo "Keine Bindung zum LDAP Server möglich.";
        }

        ldap_close($ds);

    } else {
        echo "Keine Verbindung zum LDAP Server möglich.";
    }
    ?>

Warnung
ldap_compare() kann NICHT für Vergleiche von BINÄREN Werten benutzt werden!

> Anmerkung: Diese Funktion wurde in 4.0.2 hinzugefügt.

Zurück | Zum Anfang | Nach vorne
ldap_close | Nach oben | ldap_connect