html + perl трабла

Discussion in 'PHP' started by diakon2, 20 Jan 2009.

  1. diakon2

    diakon2 Elder - Старейшина

    Joined:
    5 Jul 2008
    Messages:
    66
    Likes Received:
    2
    Reputations:
    0
    я начинающий кодер
    это моя первая работа по написанию чего либо на perl+ html
    в общем есть хтмл страничка и перловый скрипт
    на хтмл страничке вводится текст в поле и выбирается из выпадающего списка 1 из пунктов
    по нажатию на кнопку, то что я вводил в текстовое поле и выбирал из списка передается гетом в перловый скрипт который логинится на роутер, выполняет команду и результат выполнения команды выводит на экран

    модуль Net::Telnet::Cisco

    в принципе все работает, но когда я нажимаю кнопку отправить то открывается новая страница с результатом выполнения команды, а мне нужно это сделать в фрейме, чтобы кнопка отправить и поле для ввода текста оставались.

    я гуглил, читал книги, доставал людей. но никто не может ничего конкретного мне ответить...

    у меня получилось вывести в iframe скрипт. но он нормально не отрабатывается т.к. не имеет параметров для выполнения которые должны передоватсья ему по нажатию кнопки)

    если кто поможет буду очень признателен
     
  2. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    у формы укажи target="someframe", а у фрейма name="someframe"
     
    1 person likes this.
  3. diakon2

    diakon2 Elder - Старейшина

    Joined:
    5 Jul 2008
    Messages:
    66
    Likes Received:
    2
    Reputations:
    0
    все заработало спс
     
  4. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Скажи их имена... :)
     
  5. diakon2

    diakon2 Elder - Старейшина

    Joined:
    5 Jul 2008
    Messages:
    66
    Likes Received:
    2
    Reputations:
    0
    Сдавать своих учителей не охото))) а вот вопросик я всеже задам )

    имеется фрейм и выпадающий список , как сделать так чтобы из переменныхй
    $first_element_mass
    $second_element_mass

    передалось значение в
    <select name="second_list">
    <option value="first_element_mass">first_element_mass
    <option value="second_element_mass">second_element_mass
     
  6. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Ты чем формируешь этот выпадающий список? Вот там и определяй, если это первый проход, то вписать значение переменной $first_element_mass, если это второй проход, то $second_element_mass и т.д.
     
  7. diakon2

    diakon2 Elder - Старейшина

    Joined:
    5 Jul 2008
    Messages:
    66
    Likes Received:
    2
    Reputations:
    0
    формирую я его руками, изначально, допустим на 20 позиций(там больше 5ти не будет 100% но беру с запасом)
    я не понимаю как из перлового скрипта перенести переменную в html
     
  8. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    809
    Reputations:
    231
    Переменную перенести в смысле типа:
    Code:
    my $val = 1000;
    print "Content-Type: text/html\n\n";
    print <<PEND;
    <html>
    <form method="post">
    <input type="text" name="data" value="$val">
    <input type="submit" value="OK">
    <br>
    PEND
    
    
    ?
     
    _________________________
  9. diakon2

    diakon2 Elder - Старейшина

    Joined:
    5 Jul 2008
    Messages:
    66
    Likes Received:
    2
    Reputations:
    0
    не не )) перловый скрипт и хтмл страничка это не одно единое )) в этом то и проблема) в общем вот сорцы

    index3.html

    <html>
    <head>
    <title>Support Script</title>
    </head>
    <body>


    <form method=get action=cgi-bin/test3.pl target="frame1">
    Какой клиент вас интересует?<br>
    <input type="text" name="description" size="20" maxlength="40"><br>
    где находится данный клиент?<br>
    <select name="routers">
    <option value="r1-bs40k25.lan">r1-bs40k25
    <option value="r1-bs40.lan">r1-bs40
    </select>
    <br>


    <br>
    <button name="submit" value="submit" type="submit">


    send</button>

    <table border="1">
    <tr>
    <td>
    <iframe name="frame1" src="../cgi-bin/test3.pl" hspace="0" vspace="0" frameborder ="1" marginheight="0" marginwidth="0" width="800" height="600"></iframe>
    </td>
    <td>
    <select name="routers2" size="35">
    <option value="r1-bs40k25.lan">r1-bs40k25
    <option value="r1-bs40.lan">r1-bs40
    </select>
    </td>
    </tr>
    <tr>
    <td>4</td>
    <td>6</td>
    </tr>


    </table>


    </form>
    </body>
    </html>

    ________________________________________________________________
    test3.pl

    #!/usr/bin/perl
    use Net::Telnet::Cisco;
    use CGI qw:)standart :cgi);
    use CGI::Carp qw(fatalsToBrowser);

    print "Content-type: text/html \n\n";
    print "<html>";
    print "<head>";
    print "<title>Support Script</title>";
    print "</head>";
    print "<body bgcolor=#F0D080 text=#0B615C>";
    print "<br>";

    $routers1 = param("routers");
    $description1 = param("description");

    #Estab conn
    my $session = Net::Telnet::Cisco->new(Host => $routers1);
    $session->login('login', 'pass');

    # Execute a command
    $shintdes = 'show interface description | i ';
    $readyshintdes = "$shintdes\t$description1";
    my @output = $session->cmd($readyshintdes);
    print (@output, " \n \n");
    print "<br>количество элементов в массиве -";
    $zapzap = @output;

    print $zapzap;
    print "<br>";
    $zapzap2 = $output[0];
    print $zapzap2;
    print "<br>";
    $zapzap2 = $output[1];
    print $zapzap2;
    print "<br>";
    $zapzap2 = $output[2];
    print $zapzap2;
    print "<br>";
    $zapzap2 = $output[3];
    print $zapzap2;
    print "<br>";
    $zapzap2 = $output[4];
    print $zapzap2;
    print "<br>";
    $zapzap2 = $output[5];
    print $zapzap2;




    $session->close;


    ____________________________________--
    мне надо каждый элемент массива @output вывести в
    <select name="routers2" size="35">
    <option value="r1-bs40k25.lan">r1-bs40k25
    <option value="r1-bs40.lan">r1-bs40

    вместо "r1-bs40k25.lan" ну чтобы в список на html странице попадали значения массива из перлового скрипта

    в общем меня интересует как из перлового скрипта передать значения переменных в html страницу и подставить их после value=

    ну в общем примерно так