PDA

Просмотр полной версии : html + perl трабла


diakon2
20.01.2009, 17:37
я начинающий кодер
это моя первая работа по написанию чего либо на perl+ html
в общем есть хтмл страничка и перловый скрипт
на хтмл страничке вводится текст в поле и выбирается из выпадающего списка 1 из пунктов
по нажатию на кнопку, то что я вводил в текстовое поле и выбирал из списка передается гетом в перловый скрипт который логинится на роутер, выполняет команду и результат выполнения команды выводит на экран

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

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

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

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

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

groundhog
20.01.2009, 17:39
у формы укажи target="someframe", а у фрейма name="someframe"

diakon2
20.01.2009, 17:59
все заработало спс

groundhog
20.01.2009, 18:05
...доставал людей. но никто не может ничего конкретного мне ответить...
Скажи их имена... :)

diakon2
20.01.2009, 19:27
Скажи их имена... :)

Сдавать своих учителей не охото))) а вот вопросик я всеже задам )

имеется фрейм и выпадающий список , как сделать так чтобы из переменныхй
$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

groundhog
20.01.2009, 19:41
Ты чем формируешь этот выпадающий список? Вот там и определяй, если это первый проход, то вписать значение переменной $first_element_mass, если это второй проход, то $second_element_mass и т.д.

diakon2
20.01.2009, 19:59
формирую я его руками, изначально, допустим на 20 позиций(там больше 5ти не будет 100% но беру с запасом)
я не понимаю как из перлового скрипта перенести переменную в html

Kaimi
20.01.2009, 20:28
Переменную перенести в смысле типа:

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



?

diakon2
21.01.2009, 13:49
не не )) перловый скрипт и хтмл страничка это не одно единое )) в этом то и проблема) в общем вот сорцы

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=

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