Переменные через input

Тема в разделе "PHP", создана пользователем indecline, 8 окт 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. indecline

    indecline Создатель

    Регистр.:
    1 окт 2007
    Сообщения:
    45
    Симпатии:
    15
    Есть input а через него проходят свои комманды
    Это что то с функциями?
    Ex: find Diablo
     
  2. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    не понял вопроса

    PS про `` system(), exec(), passthru(), popen() и оператор обратная кавычка [backtick] (`) читал ?
     
  3. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    я тебя не понимаю

    тебе нужно написать свою команду ? ( читай консольную программу ? )

    если да -- то php может выполняться из консоли

    http://www.7masterov.ru/index.php?title=Php:Работа_Php_в_консоли


    если нет -- напиши хоть примерное ТЗ

    что и как запускается, что должно происходить ?
     
  4. indecline

    indecline Создатель

    Регистр.:
    1 окт 2007
    Сообщения:
    45
    Симпатии:
    15
    Допустим есть input
    <input id="promt" type="text"/>
    $promt = $_POST['promt'];
    которая потом выводит $output
    Пример генератора паролей.
    Что нужно : Что бы пароль генерировал нужное колчиство символов
    Что пишем : passgen 5
    Что получаем: hwrbs
    Как это реализовать ?
     
  5. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    http://www.softtime.ru/scripts/parol.php

    Как-то так.
     
  6. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    Вариант :

    парсим $promt - разбиваем строку в массив по пробелу (($arr_cmd=explode(' ',$promt )
    нулевой элемент массива считаем командой, остальные параметрами

    тут есть варианты
    1) динамическое формирование кода, тогда будет примерно так
    eval($cmd[0].'('.$cmd[1].','.$cmd[2] ... ) т.е. тупо вызываешь функцию по имени первого аргумента

    тут можешь добавить обработку ошибок и/или проверку на существование функции ( function_exists() )

    2) делаешь любую реализацию строгого набора функций
    типа
    if ($cmd[0])=='kill' ....
    elseif ....

    ну или switch ... case как тебе больше нравится
    тоже самое, остальные члены массива $cmd -- передаешь как параметры вызываемым функциям

    Тебя это интересовало ?
     
  7. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    Так не надо делать, иначе ему туда насуют функций) и сам рад не будет.
     
  8. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    2 tostrss:
    потому и написано два варианта

    а динамическое формирование кода может быть и полезно, хз может он backdoor пишет
     
  9. indecline

    indecline Создатель

    Регистр.:
    1 окт 2007
    Сообщения:
    45
    Симпатии:
    15
    Привет ZCFD! Спасибо за наводки !
    Н это я не бекдор пишу а симулятор разных тулз комманд

    типо трекера номера посылки, генератор паролей итп

    Че то у меня нечего не получается , вот пару мыслей

    if ($cmd[0]=="kill") { echo "kill works"; } elseif ($cmd[1]=='$num') { echo "$num works";}"

    прости не все понимаю куда туту eval вставлять ? или как по другому?

    Не легче это все с функцией замутить ?

    нашел два других варианта
    1. делать статичные комманды , но это не то что я искал

    if ($cmd=="kill") { echo "kill works"; } elseif ($cmd=='kill 1') { echo "$cmd works again";}"

    2. Дабавить второй input , но получается не красиво и опять не то что я хотел.
     
  10. Kloster

    Kloster

    Регистр.:
    22 июн 2009
    Сообщения:
    216
    Симпатии:
    12
    Что-то я не врубаюсь, чего нужно от этой тулзы? По-моему, все уже написали, ставишь свитч на имя команды и обрабатываешь как хочешь остальные параметры.
    В чем вопрос то?
     
Статус темы:
Закрыта.