PHP & LDAP

Обсуждение технических вопросов по продуктам Novell

PHP & LDAP

Сообщение Vladimir Kozak » 24 сен 2003, 15:39

Помогите, наступил на какие-то грабли и не могу понять где собака зарыта. Наверное в моих глубоких познаниях php и ldap :D

Код: Выделить всё
$info = ldap_get_entries($ds, $sr);
     for ($i=0; $i<$info["count"]; $i++) {

         echo "room: ". $info[$i]["l"][0] ."<p>";
         echo "name: ". $info[$i]["sn"][0] ."<p>";
         echo "desc: ". $info[$i]["description"][0] ."<p>";

         echo "phone: ". $info[$i]["telephoneNumber"][0] ."<p>";
         echo "fullname: ". $info[$i]["fullName"][0] ."<p>";


Две последние строки никак не хотят отдаваться. Пусто, хоть тресни.
Softerra LDAP browser показывает, естесственно, все.
Аватара пользователя
Vladimir Kozak
 
Сообщения: 762
Зарегистрирован: 30 янв 2003, 15:13

Сообщение Vadziku » 25 сен 2003, 06:28

В массиве имен атрибутов которые ты отдаешь ldapsearch эти имена естественно значатся?
Vadziku
 
Сообщения: 97
Зарегистрирован: 20 июл 2002, 15:46
Откуда: Almaty, Kazakhstan

Сообщение Михаил Григорьев » 25 сен 2003, 07:57

Вот полный скрипт для LDAP кот. я использую, из плюсов то что он нормально Русские буквы атрибутов разгребает

Код: Выделить всё
<head><title>LDAP</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head><body>
<font face="Courier New" size="-1"><h3>LDAP Test</h3>

<?php

    function utf2html ($utf2html_string) {
    $utf2html_retstr = "";
    for ( $utf2html_p = 0; $utf2html_p < strlen($utf2html_string); $utf2html_p++ ) {
        $utf2html_c = substr($utf2html_string, $utf2html_p, 1);
        $utf2html_c1 = ord($utf2html_c);
        if ( $utf2html_c1 >> 5 == 6 ) {
        $utf2html_p++;
        $utf2html_t = substr($utf2html_string, $utf2html_p, 1);
        $utf2html_c2 = ord($utf2html_t);
        $utf2html_c1 &= 31;
        $utf2html_c2 &= 63;
        $utf2html_c2 |= (($utf2html_c1 & 3) << 6);
        $utf2html_c1 >>= 2;
        $utf2html_n = dechex($utf2html_c1).dechex($utf2html_c2);
        $utf2html_retstr .= sprintf ("&#%03d;", hexdec($utf2html_n));
        } else {
        $utf2html_retstr .= $utf2html_c;
        }
    }
    return $utf2html_retstr;
    }

$ds = ldap_connect("192.168.95.2");

if ($ds) {
     $r=ldap_bind($ds);
     if($r) {
   $sr=ldap_search($ds,"o=CHERTS", "cn=Neo");
   $info = ldap_get_entries($ds, $sr);
   for ($i=0; $i<$info["count"]; $i++) {
      echo "<b>Login:</b> ". utf2html($info[$i]["dn"]) ."<br>";
      echo "<b>CN:</b> ". utf2html($info[$i]["cn"][0]) ."<br>";
      echo "<b>Имя:</b> ". utf2html($info[$i]["givenname"][0]) ."<br>";
      echo "<b>Фамилия:</b> ". utf2html($info[$i]["sn"][0]) ."<br>";
      echo "<b>Полное Имя:</b> ". utf2html($info[$i]["fullname"][0]) ."<br>";
      echo "<b>Должность:</b> ". utf2html($info[$i]["title"][0]) ."<br>";
      echo "<b>E-Mail:</b> ". utf2html($info[$i]["mail"][0]) ."<br>";
      echo "<b>E-Mail:</b> ". utf2html($info[$i]["mail"][1]) ."<br>";
      echo "<b>Страна:</b> ". utf2html($info[$i]["co"][0]) ."<br>";
      echo "<b>Город:</b> ". utf2html($info[$i]["city"][0]) ."<br>";
      echo "<b>Индекс:</b> ". utf2html($info[$i]["postalcode"][0]) ."<br>";
      echo "<b>Адрес:</b> ". utf2html($info[$i]["street"][0]) ."<br>";
      echo "<b>Телефон:</b> ". utf2html($info[$i]["telephonenumber"][0]) ."<br>";
   }

   ldap_close($ds);
   exit();
     } else {
      print "Доступ закрыт !!!<br>";
      ldap_close($ds);
      exit();
    }
} else {
   echo "<h4>Не могу подключится к LDAP серверу</h4>";
}
?>

</font></body></html>
Аватара пользователя
Михаил Григорьев
 
Сообщения: 1462
Зарегистрирован: 04 июн 2002, 12:22
Откуда: Челябинск


Вернуться в Novell

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 74