Forum Webscript.Ru
Программирование => Perl => Тема начата: от 23 Января 2002, 17:46:57
-
Здравствуйте.
Подскажите, пожайлуста, как сделать так, чтобы результат обработки фомы скриптом выводился на этой же html странице?
У меня после отправки формы результат обработки передаваемых значений открывается в /скрипт.cgi :(
текст скрипта таков:
#!/usr/bin/perl
use vars qw(%config %icons $in);
use CGI qw(:cgi);
$in = new CGI;
require "config.conf";
$table=\'adm_ofdoc\';
$|++;
print $in->header(\'text/html\');
my ($action) = $in->param(\'action\'); # ОНКСВЕМХЕ ДЕИЯРБХЪ
my ($dayss) = $in->param(\'dayss\');
my ($yearss) = $in->param(\'yearss\');
my ($vid) = $in->param(\'vid\');
print $dayss;
-
Используем SSI+немного правим скрипт и страницу.
В форме в параметре ACTION задайте урл этой же страницы (напр form.shtml) и важно(!) METHOD=GET
и на эту страницу добавьте строку:
Должно получиться.
Сам скрипт несколько изменим:
#!/usr/bin/perl
use vars qw(%config %icons $in $result);
use CGI qw(:cgi);
$in = new CGI;
require "config.conf";
$table=\'adm_ofdoc\';
if ($in->param(\'action\')){
my ($action) = $in->param(\'action\');
my ($dayss) = $in->param(\'dayss\');
my ($yearss) = $in->param(\'yearss\');
my ($vid) = $in->param(\'vid\');
$result="Вам осталось жить: $dayss!";
}
else {$result=\'Введите данные!\';}
$|++;
print $in->header(\'text/html\');
print $result;
Честно скажу - не пробовал ;) но по логике должно сработать.
if ($in->param(\'action\')) - проверка того, что скрипту передали данные.
-
есть другой вариант - страница полностью создается скриптом, т.е. и форма там и т.д.
-
Я не понял зачем передавать скрипту QUERY_STRING
Это ввобще необязательно и так должно сработать :)
-
Я не понял зачем передавать скрипту QUERY_STRING
Это ввобще необязательно и так должно сработать
скрипт проверяет - переданы параметры или нет. Если переданы, то значит кук уже закинули, надо проверить ,есть ли он. Если нет, то надо закинуть кук.
-
Логично
тормознул :)