Как исправить php-код, не выполняющийся при вводе данных из формы? - PullRequest
0 голосов
/ 24 декабря 2018

Я новичок здесь и на php.

Я запускаю простой php-код для ssh на удаленном сервере и выполняю длинную команду:

ldapsearch -b o=Devices -h 24.33.42.43 -D "uid=aaa_user,ou=AppUsers,o=services" -w "authAuthAcc01" rrWiFiDeviceMAC="A4-F1-E8-24-6B-28" 

для определенного MAC-адреса A4-F1-E8-24-6B-28 .Я использовал форму для ввода MAC-адреса, а затем отправил команду ssh на сервер linux перед выполнением команды выше.echo $CMD отобразит полную команду на странице, указывающую, что $var=$_POST[] работает.Однако код не будет работать с функцией ssh2.Это как $var становится пустым или что-то.Но если я жестко кодирую $var и запускаю из командной строки PHP, это работает.Пожалуйста, что я делаю не так!

Спасибо за вашу помощь.

<form  action="MAC_search.php" method="post">
    Enter MAC Address to Search:<input type="text" name="mac">
    <input type="submit" name='submit' value ='Search' />
</form>



<?php
   if ($_POST["submit"] ){
   $MACD=$_POST['mac'];
   //$MACD='F8-62-14-E9-F7-51';  *****Hardcoding here works*****
    $CMD = "ldapsearch -b o=Devices -h 24.33.33.5 -D \"uid=a . 
    aa_user,ou=AppUsers,o=services\" -w \"authAuthAcc01\" 
    rrWiFiDeviceMAC=\"$MACD\"";

    echo $CMD; **** Here echos on the page also *******
    $connection = ssh2_connect("x.x.x.x", 22);        
    ssh2_auth_password($connection, $username, $password);
    $stream = ssh2_exec($connection, "$CMD");
    stream_set_blocking($stream, true);
    $output = stream_get_contents($stream);

   $resultfile = fopen("data.txt", "w") or die("unable to open 
    file");  
    fwrite($resultfile, $output);
    fclose($myfile);
  }
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...