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]   

> Без описания
mentax
Отправлено: 11 Марта, 2016 - 00:48:12
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Март 2016  


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




Всем привет!
Пытаюсь разобраться с PHP и написать небольшую утилиту.
Задача в следующем:
Когда я ввожу IP адрес в форму - в поле ip и нажимаю на кнопку получить mac, ip адрес передается в скрипт php(ssh.php) который используя ssh подключается к этому ip и вытаскивает mac.
Теперь вопрос - как мне по нажатию на кнопку получить данные и вставить их в форму mac?
В форме есть 5 полей, имя сервера, ip адрес, mac адрес, OS и Arch
все это планируется получать через ssh

PHP:
скопировать код в буфер обмена
  1.  
  2. <tr>
  3.   <td align="right">MAC Address:</td>
  4.   <td><input type="text" size="50" name="mac_addr"><button type="button" id="button">Отправить запрос</button></td>
  5. </tr>
  6.  



PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. // nproc get cpu numbers
  5. //
  6.  
  7.  
  8. $hostname = $_GET['hostname'];
  9. function get_mac () {
  10.  
  11. if($ssh = ssh2_connect('$hostname', 22)) {
  12.     if(ssh2_auth_password($ssh, 'admin', 'superpass')) {
  13.         $stream = ssh2_exec($ssh, 'ifconfig eth0 | grep -o -E "([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}"');
  14.         stream_set_blocking($stream, true);
  15.         $data = '';
  16.         while($buffer = fread($stream, 4096)) {
  17.             $data .= $buffer;
  18.         }
  19.         fclose($stream);
  20.         echo $data; // user
  21.     }
  22. }
  23. }
  24. ?>
  25.  
  26.  
 
 Top
freelsd
Отправлено: 11 Марта, 2016 - 09:28:53
Post Id


Гость


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


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




mentax пишет:
Всем привет!
Пытаюсь разобраться с PHP и написать небольшую утилиту.
Задача в следующем:
Когда я ввожу IP адрес в форму - в поле ip и нажимаю на кнопку получить mac, ip адрес передается в скрипт php(ssh.php) который используя ssh подключается к этому ip и вытаскивает mac.
Теперь вопрос - как мне по нажатию на кнопку получить данные и вставить их в форму mac?
В форме есть 5 полей, имя сервера, ip адрес, mac адрес, OS и Arch
все это планируется получать через ssh

PHP:
скопировать код в буфер обмена
  1.  
  2. <tr>
  3.   <td align="right">MAC Address:</td>
  4.   <td><input type="text" size="50" name="mac_addr"><button type="button" id="button">Отправить запрос</button></td>
  5. </tr>
  6.  



PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. // nproc get cpu numbers
  5. //
  6.  
  7.  
  8. $hostname = $_GET['hostname'];
  9. function get_mac () {
  10.  
  11. if($ssh = ssh2_connect('$hostname', 22)) {
  12.     if(ssh2_auth_password($ssh, 'admin', 'superpass')) {
  13.         $stream = ssh2_exec($ssh, 'ifconfig eth0 | grep -o -E "([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}"');
  14.         stream_set_blocking($stream, true);
  15.         $data = '';
  16.         while($buffer = fread($stream, 4096)) {
  17.             $data .= $buffer;
  18.         }
  19.         fclose($stream);
  20.         echo $data; // user
  21.     }
  22. }
  23. }
  24. ?>
  25.  
  26.  


Проще всего сделать чтобы скрипт с формой сам вставлял в поле мак данные если он их
получил. То есть у вас будет форма, в которой клацаешь на кнопку и она в том же файле обрабатывает ваши данные, а функция get_mac() возвращает результат и он вставляется потом в форму просто так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. //если нажали на кнопку формы
  3. if($_POST['ip]){
  4. получаем мак
  5. $mac = get_mact($ip);
  6. }
  7.  
  8. ?>
  9. <input type="text" size="50" name="mac_addr" value="<?PHP echo $mac;?>">


То есть если вы просто открыли форму, то поле мак будет пустое, если отправили ип для проверки нажав на кнопку формы, то в поле мак должен будет мак отобразится.
 
 Top
mentax
Отправлено: 11 Марта, 2016 - 18:58:17
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Март 2016  


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




Не совсем понятно, как это правильно передавать скрипту?

Получился вот такой вот код:

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if(!isset($_SESSION["session_username"])) {
  4.         header("location:login.php");
  5. } else {
  6.  
  7. ?>
  8.  
  9. <?PHP include("includes/header.php"); ?>
  10. <?PHP include("menu.php"); ?>
  11. <?PHP include("ssh.php"); ?>
  12.  
  13. <?PHP
  14. //если нажали на кнопку формы
  15. if($_POST['ip_addr']){
  16. //получаем мак
  17. $mac = get_mac($ip_addr);
  18. }
  19. ?>
  20.  
  21. <html>
  22. <body>
  23.  
  24. <form method="post" action="action.php">
  25. <!--// Здесь указываем метод передачи post и сам обработчик файл action.php -->
  26.  
  27. <br>
  28. </br>
  29. <br>
  30. </br>
  31.  
  32. <!-- Выравнимаем формы -->
  33. <table width="100%" cellspacing="0" cellpadding="4">
  34.  
  35. <tr>
  36.   <td align="right" width="100">Server name:</td>
  37.   <td><input type="text" size="50" name="server_name"></td>
  38. </tr>
  39.  
  40. <tr>
  41.   <td align="right">Ip Address:</td>
  42.   <td><input type="text" size="50" name="ip_addr">&nbsp<button type="submit" name="b[]" value='$ip_addr'>Get IP</button></td>
  43. </tr>
  44.  
  45. <tr>
  46.   <td align="right">MAC Address:</td>
  47.   <td><input type="text" size="50" name="mac_addr">&nbsp<button type="submit" name="b[]" value="<?PHP echo $mac;?>">Get MAC</button></td>
  48. </tr>
  49.  
  50. <tr>
  51.   <td> </td>
  52.   <td><input type="submit" value="Add Server"></td>
  53. </tr>
  54.  
  55. </table>
  56.   </form>
  57. </html>
  58. </body>
  59.  
  60. <?PHP include("includes/footer.php"); ?>
  61.  
  62. <?PHP
  63. }
  64. ?>
  65.  


Когда я нажимаю на кнопку Get Mac меня перебрасывает на action.php

(Отредактировано автором: 11 Марта, 2016 - 19:03:51)

 
 Top
freelsd
Отправлено: 12 Марта, 2016 - 08:34:23
Post Id


Гость


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


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




В обработчике уберите action, тогда ваш скрипт с формой сам будет обработчиком:

 
 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