[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод переменной 2
vladsn07
Имеется скрипт ввода одного атрибута active directory и по этому атрибута нужно вывести остальные, т.е. фильтр

<?php
error_reporting(-1);
$poisk=$_POST["poisk"];
if ($poisk=="")
{
print "<form method=\"post\" action=\"ldap.php\">Напишите табельный номер<input type=\"text\" name=\"poisk\"> <input type=\"submit\"></form>"; #ldap.php - имя файла, в котором лежит данный скрипт, если указать другой, при выполнении запроса напишет что файл не найден
}
if ($poisk!="")
{
$poisk=$_POST["poisk"];

include ("mssql_config.php");
$ldapServer = '192.168.0.1';
$ldapUserToAuth = 'Test01@***.local'; // Любая активная учётка в домене
$ldapUserPasswd = '***';
$ldapBase = 'dc=***, dc=local'; // Откуда начинать поиск (тут во всём домене)
$ldapFilter_user = "(&(objectclass=user)(objectcategory=Person)(employeeid=$poisk))";
$justthese_user = array('samaccountname','displayname','mail', 'department', 'employeeid', 'telephonenumber'); // имена полей, которые необходимо вытащить


$sql= "select u.employeeid , replace(u.username,***\','') as username, p.name as compname, l.date, p.inventarynumber as invnumber from userlog l, userid u, pc p where l.id in (select MAX(id) from userlog group by pc_id) and l.user_id = u.id and l.pc_id = p.id and l.status = '0' and u.employeeid=$poisk order by l.date desc";
$sql2 = mssql_query($sql);
$sql1=mssql_fetch_array($sql2);

$ldapFilter_comp = '(&(objectclass=computer)(cn='. $sql1[2].'))';
$justthese_comp = array('cn','description');

// Connecting to LDAP
$ldapconn = ldap_connect($ldapServer)
or die("Could not connect to $ldapServer");

ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0);

// Авторизация
$ldapbind = ldap_bind($ldapconn, $ldapUserToAuth, $ldapUserPasswd);

$sr_user=ldap_search($ldapconn, $ldapBase, $ldapFilter_user, $justthese_user);
$info_user = ldap_get_entries($ldapconn, $sr_user);

$sr_comp=ldap_search($ldapconn, $ldapBase, $ldapFilter_comp, $justthese_comp);
$info_comp = ldap_get_entries($ldapconn, $sr_comp);



for ($i=0, $c=$info_user['count']; $i<$c; $i++)
{
$displayname = $info_user[$i]['displayname'][0];
//echo $i. ' ----> ' . $info_user[$i]['displayname'][0] . ' ----> ' . $info_user[$i]['samaccountname'][0];
if (isset($info_user[$i]['mail'][0]))
$mail = $info_user[$i]['mail'][0];
//echo ' ----> '.$info_user[$i]['mail'][0];
if (isset($info_user[$i]['telephonenumber'][0]))
$telephonenumber = $info_user[$i]['telephonenumber'][0];
//echo ' ----> '.$info_user[$i]['telephonenumber'][0];
if (isset($info_user[$i]['department'][0]))
$department = $info_user[$i]['department'][0];
//echo ' ----> '.$info_user[$i]['department'][0];
//echo ' </br>' ;

}
//for ($i=0, $c=count($sql1); $i<$c; $i++)
//echo $sql1[2];

for ($i=0, $c=$info_comp['count']; $i<$c; $i++)
{ $cn = $info_comp[$i]['cn'][0];
//echo $i. ' ----> ' .$info_comp[$i]['cn'][0] . ' ----> ';
if (isset($info_comp[$i]['description'][0]))
$description = $info_comp[$i]['description'][0];
//echo ' ----> '.$info_comp[$i]['description'][0];
}
echo $displayname;
}
?>


При отработке этого скрипта выходит ошибка
Notice: Undefined index: poisk in /var/www/hesk/ldap.php on line 3 ,
но сам скрипт отрабатывает
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.