Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

не могу сделать обработку формы на perl'e ... помогите plz

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
name01
Гость





СообщениеДобавлено: Сб Ноя 13 2004 09:34    Заголовок сообщения: не могу сделать обработку формы на perl'e ... помогите plz Ответить с цитатой

Здравствуйте, проблема в следующем -

у меня есть форма и в ней один input text и 1 button (submit)

надо надо скрипт который бы обрабатывал данную форму следующим образом - когда вводишь скажем 234 в поле, ну просто число, и нажимаешь кнопку субмит то скрипт бы искал в папке TEMP скажем файл с именем 234.html и если нашел то выдавал его, а если файла такого нет как указано в поле формы то редирект на файл error.html ... я так подозреваю что скрипт не большой, а написать все равно не могу так как не программист..

если у кого что есть похожее или кто то что то знает помогите пожалуйста - ada(лягушка)mail.ru, спасибо.

или здесь отпишите код или линк на похожий скрипт..

Заранее благодарен
Вернуться к началу
FUKS



Зарегистрирован: 14.04.2002
Сообщения: 148
Откуда: Москва

СообщениеДобавлено: Пн Ноя 15 2004 18:57    Заголовок сообщения: Re: не могу сделать обработку формы на perl'e ... помогите plz Ответить с цитатой

Насколько я понимаю, проблема в редиректе? Я, честно говоря, не знаю как заставить Перл выдать редиректную страницу (с кодом 302 кажется), потому как он сам формирует 200-ю ОК-ную, хотя это не значит, что такой возможности нет. А остальное просто.
Код:

sub upc { # Раскодировка URL-coded параметров
  foreach (@_) {
    s/\+/ /g;
    s/%([0-9a-fA-F]{2})/pack("c",hex($1))/ge;
    s/'/\\'/g;
  }
}

# Получение параметров формы
if ($ENV{'REQUEST_METHOD'} eq 'POST') { # <form method=POST ...>
  read(STDIN, $buf, $ENV{'CONTENT_LENGTH'})
} else { # <form method=GET ...>
  $buf=$ENV{'QUERY_STRING'};
}

%parms=qw //; # Пустой хэш под параметры формы
@qs=split /&/,$buf; # Массив параметров формы (вместе со значениями)
foreach (@qs) { # Для каждого параметра:
 my($n,$v)=split /=/; # имя поместить в $n, значение в $v
 &upc ($v); # Раскодировать значение URL-coded параметра
 $parms{$n}=$v # Запомнить значение в хэше
}

print "Content-type: text/html\n\n<html>"; # Выдача HTTP-заголовка

$res=open(FILNAM, "$parms{'filnam'}.html"; # Попытка открыть файл, имя которого получено из <input name=filnam>

if (!$res) {
  print "<meta http-equiv='Refresh' content='0; url=http://www.mysite.com/error.html'></html>";
  exit # Переслать и выйти
}

@f=<FILNAM>; # Считать файл в список (строк)
close (FILNAM); # Закрыть файл
print @f; # и выдать его клиенту
print "</html>"
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
1312312323
Гость





СообщениеДобавлено: Чт Дек 02 2004 22:57    Заголовок сообщения: Ответить с цитатой

- вывести мета тег с редиректом
- указать редирект в http-заголовке

поищи здесь
ttp://webdocs.ru/
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...