Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> php вывод списка юзеров ldap, прошу помочь 
:(
    Опции темы
ytkavtapkax
Дата 18.6.2012, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 3.6.2012

Репутация: нет
Всего: нет



Здравствуйте! Есть следующий код:

Код

<?php
$basedn=array('dc=guap,dc=ru'); 
$filter='(&(objectClass=inetOrgPerson)(uid=*)(mail=*))'; // фильтр
$attributes=array('dn','uid','sn','mail');
$cnx = ldap_connect('localhost',389); // подключение
ldap_set_option($cnx, LDAP_OPT_PROTOCOL_VERSION, 3);

ldap_bind($cnx,'cn=ldaproot,dc=guap,dc=ru','****'); // аутентификация

$search = ldap_search(array($cnx),$basedn,$filter,$attributes); // поиск

// вывод результата
for($i=0;$i<count($search);$i++){
print_r(ldap_get_entries($cnx,$search[$i]));
print "<br>";
}
?> 


Данные по дереву ищутся, но выводятся вот в таком кривом виде:
http://s2.ipicture.ru/uploads/20120618/HF33hgqR.jpg

Что нужно добавить в цикл, чтобы данные из массива выводились в более читабельной форме? В виде таблицы к примеру? 
Прошу сильно не ругать, в программировании не силен, и с пхп знаком первый день. На гугле не забанили, но руки кривые видимо, поэтому пишу сюда. 


PM MAIL   Вверх
Aliance
Дата 19.6.2012, 15:54 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 3
Всего: 137



Поставьте XDebug и вместо print_r используйте var_dump.

Если ставить времени нет, можно каждый вызов print_r обрамлять тегами <pre>
Код

// вывод результата
for ($i=0;$i<count($search);$i++) {
    print '<pre>';
    print_r(ldap_get_entries($cnx,$search[$i]));
    print '</pre>';
    print '<hr />';
}

PM MAIL WWW ICQ Skype   Вверх
ytkavtapkax
Дата 20.6.2012, 00:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 3.6.2012

Репутация: нет
Всего: нет



Спасибо, так гораздо лучше!)

И еще такой вопрос: как вывести отдельный элемент из моего массива, чтобы потом этот элемент поместить в таблицу?

Сейчас информация о пользователе выводится в таком виде:
array(8) {
  ["uid"]=>
  array(2) {
    ["count"]=>
    int(1)
    [0]=>
    string(4) "user"
  }
  [0]=>
  string(3) "uid"
  ["mail"]=>
  array(2) {
    ["count"]=>
    int(1)
    [0]=>
    string(12) "[email protected]"
  }
  [1]=>
  string(4) "mail"
  ["sn"]=>
  array(2) {
    ["count"]=>
    int(1)
    [0]=>
    string(4) "user"
  }
  [2]=>
  string(2) "sn"
  ["count"]=>
  int(3)
  ["dn"]=>
  string(32) "uid=user,ou=People,dc=guap,dc=ru"
}

Как выдрать отсюда значения "user" "[email protected]" "uid=user,ou=People,dc=guap,dc=ru" и выводить только их??

Это сообщение отредактировал(а) ytkavtapkax - 20.6.2012, 01:58
PM MAIL   Вверх
Aliance
Дата 20.6.2012, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 3
Всего: 137



Код

// вывод результата
for ($i=0;$i<count($search);$i++) {
    $data = ldap_get_entries($cnx,$search[$i]);
    printf('<p>%s = %s</p>', $data['uid'][0], $data['mail'][0], $data[2]['dn']);
    print '<pre>';
    print_r( $data );
    print '</pre>';
    print '<hr />';
}


Честно говоря очень странная структура массива, если её формируете вы - советую переделать. Если она приходит вам такая на вход - что ж, печально.

Добавлено через 25 секунд
Кстати, пользуйтесь кнопкой код - так будет всем лучше  smile 
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0416 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.