Forum
Merhaba,
Aşağıdaki kodlar ile AD sunucusuna bağlanılıp kullanıcı adı ve soyadına göre arama yapılmaktadır.
ş ğ i ü ö gibi harf bulunan isimler bulunamamaktadır.
Örneğin AD sunucunda kullanıcı adı pinar olup, gerçek adı Pınar olarak kayıtlıdır.
pınar olarak arama yapıldığında veri gelmiyor fakat pinar olarak arama yapıldığında veri geliyor.
Bu problemi nasıl aşabilirim.
<?php
$userid = rtrim($_POST['name']);
$dn = "OU=XXX,DC=XXX,DC=com,DC=tr";
$ad = ldap_connect("ldap://XXX")
or die("Server'a Bağlanılamadı!");
$filter = "(cn=*$userid*)";
$sizelimit = 50 ;
if ($ad) {
$bd = ldap_bind($ad,"XXX","XXX")
or die("Server'a Bağlanılamadı!");
$result =ldap_search($ad,$dn,$filter,array("mail","sn","cn","title","telephonenumber","mobile","facsimileTelephoneNumber"),0,$sizelimit );
$info = ldap_get_entries($ad, $result);
echo "<p> " ;
echo "<p> " ;
ldap_close($ad);
} else {
echo "<h4>Bağlanılamadı</h4>";
}
?>
if ($ad) {
$bd = ldap_bind($ad,"XXX","XXX")
ldap_set_option($bd, LDAP_OPT_PROTOCOL_VERSION, 3);
or die("Server'a Bağlanılamadı!");
Hocam,
Yukarıda belirttiğim satırı ekleyip dener misiniz?
Çok teşekkür ederim.
Verdiğin kod doğru fakat şu şekilde çalıştırdım.
if ($ad) {
ldap_set_option($bd, LDAP_OPT_PROTOCOL_VERSION, 3);
$bd = ldap_bind($ad,"XXX","XXX")
or die("Server'a Bağlanılamadı!");
Kod çalıştıktan sonra türkçe karakter hatası verdi. Aşağıdaki kod ile de herşey düzeldi.
header('Content-Type: text/html; charset=utf-8');
setlocale(LM_TIME, "tr_TR");