ldap_compare

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

ldap_compareCompare value of attribute found in entry specified with DN

˵��

ldap_compare ( resource $link_identifier , string $dn , string $attribute , string $value [, array $serverctrls = array() ] ) : mixed

Compare value of attribute with value of same attribute in an LDAP directory entry.

����

link_identifier

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

attribute

The attribute name.

value

The compared value.

serverctrls

Array of LDAP Controls to send with the request.

����ֵ

Returns TRUE if value matches otherwise returns FALSE. Returns -1 on error.

������־

�汾 ˵��
7.3 Support for serverctrls added

����

The following example demonstrates how to check whether or not given password matches the one defined in DN specified entry.

Example #1 Complete example of password check

<?php

$ds
=ldap_connect("localhost");  // assuming the LDAP server is on this host

if ($ds) {

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

        
// prepare data
        
$dn "cn=Matti Meikku, ou=My Unit, o=My Company, c=FI";
        
$value "secretpassword";
        
$attr "password";

        
// compare value
        
$r=ldap_compare($ds$dn$attr$value);

        if (
$r === -1) {
            echo 
"Error: " ldap_error($ds);
        } elseif (
$r === true) {
            echo 
"Password correct.";
        } elseif (
$r === false) {
            echo 
"Wrong guess! Password incorrect.";
        }

    } else {
        echo 
"Unable to bind to LDAP server.";
    }

    
ldap_close($ds);

} else {
    echo 
"Unable to connect to LDAP server.";
}
?>

ע��

Warning

ldap_compare() can NOT be used to compare BINARY values!