Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: нужна помощь с кодом

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
vladsn07
Отправлено: 31 Октября, 2013 - 17:00:05
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




Имеется код index.php
CODE (html):
скопировать код в буфер обмена
  1. http://yadi.sk/d/7m3e5T4sBufvx
, например
CODE (html):
скопировать код в буфер обмена
  1. http://www.hesk.com/demo/index.php?a=add


Необходимо собрать всю необходимую информацию по пользователю, компьютеру и автоматически при открывании этой странички вставить в формы.
Скрипт получения данных имеется и полностью он рабочий. Т.е. этим файликом можно получить Ip адрес, а уже имея Ip адрес получить имя компьютера через dns, по имени компьютера получить кто сейчас залогинен на этом компьютере (берется из базы данных mssql) и получаю все необходимую инфу о пользователе (ФИО, mail и т.д.)
также хочется добавить свои поля в форму

PHP:
скопировать код в буфер обмена
  1.     <?PHP
  2.     include ("mssql_config.php");
  3.     function getRealIpAddr()
  4.             {
  5.                     if (!empty($_SERVER['HTTP_CLIENT_IP']))   //check ip from share internet
  6.                     {
  7.                             $ip=$_SERVER['HTTP_CLIENT_IP'];
  8.                     }
  9.                     elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))   //to check ip is pass from proxy
  10.                     {
  11.                             $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
  12.                     }
  13.                     else
  14.                     {
  15.                             $ip=$_SERVER['REMOTE_ADDR'];
  16.                     }
  17.                     return $ip;
  18.             }
  19.        $ip_address = getRealIpAddr();
  20.        $hostname = gethostbyaddr ($ip_address);
  21.        
  22.     $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 p.name=replace('".$hostname."','.***.local','') order by l.date desc";
  23.     $sql2 = mssql_query($sql);
  24.       $sql1=mssql_fetch_array($sql2);
  25.        
  26.     $ldapServer = '192.168.0.1';
  27.     $ldapUserToAuth = 'Test01@*.local'; // Любая активная учётка в домене
  28.     $ldapUserPasswd = '***';
  29.     $ldapBase = 'dc=***, dc=local'; // Откуда начинать поиск (тут во всём домене)
  30.     $ldapFilter_user = '(&(objectclass=user)(objectcategory=Person)(samaccountname='. $sql1[1].'))';
  31.     $justthese_user = array('samaccountname','displayname','mail', 'department',  'employeeid', 'telephonenumber'); // имена полей, которые необходимо вытащить
  32.     $ldapFilter_comp = '(&(objectclass=computer)(cn='. $sql1[2].'))';
  33.     $justthese_comp = array('cn','description');
  34.  
  35.     // Connecting to LDAP
  36.     $ldapconn = ldap_connect($ldapServer)
  37.     or die("Could not connect to $ldapServer");
  38.  
  39.     ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
  40.     ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0);
  41.  
  42.     // Авторизация
  43.     $ldapbind = ldap_bind($ldapconn, $ldapUserToAuth, $ldapUserPasswd);
  44.  
  45.     $sr_user=ldap_search($ldapconn, $ldapBase, $ldapFilter_user, $justthese_user);
  46.     $info_user = ldap_get_entries($ldapconn, $sr_user);
  47.  
  48.     $sr_comp=ldap_search($ldapconn, $ldapBase, $ldapFilter_comp, $justthese_comp);
  49.     $info_comp = ldap_get_entries($ldapconn, $sr_comp);
  50.  
  51.  
  52.        
  53.     for ($i=0, $c=$info_user['count']; $i<$c; $i++)
  54.        {
  55.        echo $i. ' ----> ' . $info_user[$i]['displayname'][0] . ' ----> ' . $info_user[$i]['samaccountname'][0];
  56.        if (isset($info_user[$i]['mail'][0]))
  57.           echo ' ----> '.$info_user[$i]['mail'][0];
  58.        if (isset($info_user[$i]['telephonenumber'][0]))
  59.           echo ' ----> '.$info_user[$i]['telephonenumber'][0];
  60.        if (isset($info_user[$i]['department'][0]))
  61.           echo ' ----> '.$info_user[$i]['department'][0];
  62.        echo  ' </br>' ;
  63.        }
  64.     //for ($i=0, $c=count($sql1); $i<$c; $i++)
  65.     //echo $sql1[2];
  66.     for ($i=0, $c=$info_comp['count']; $i<$c; $i++)
  67.     {
  68.        echo $i. ' ----> ' .$info_comp[$i]['cn'][0] . ' ----> ';
  69.        if (isset($info_comp[$i]['description'][0]))
  70.           echo ' ----> '.$info_comp[$i]['description'][0];
  71.     }
  72.     ?>
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB