Forum Webscript.Ru

Программирование => Perl => Тема начата: от 23 Января 2002, 17:46:57

Название: проблема с формой :(
Отправлено: от 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;
Название: Возм. Вариант:
Отправлено: Green Kakadu от 23 Января 2002, 19:27:43
Используем 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\')) - проверка того, что скрипту передали данные.
Название: можно иначе
Отправлено: Green Kakadu от 23 Января 2002, 19:29:35
есть другой вариант - страница полностью создается скриптом, т.е. и форма там и т.д.
Название: проблема с формой :(
Отправлено: AlieN от 29 Января 2002, 13:10:11
Я не понял зачем передавать скрипту QUERY_STRING
Это ввобще необязательно и так должно сработать :)
Название: ну..
Отправлено: Green Kakadu от 30 Января 2002, 02:13:47
Цитировать
Я не понял зачем передавать скрипту QUERY_STRING
Это ввобще необязательно и так должно сработать

скрипт проверяет - переданы параметры или нет. Если переданы, то значит кук уже закинули, надо проверить ,есть ли он. Если нет, то надо закинуть кук.
Название: проблема с формой :(
Отправлено: AlieN от 09 Февраля 2002, 17:09:49
Логично
тормознул :)