imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 01.05.2003, 23:45     # 1
TTT
Guest
 
Сообщения: n/a

Post Perl Разбор формы

ищется дока или готовые примеры для разбора ХТМЛ-форм на Перле в виде списка-название полей формы+ типы полей формы
 
Старый 02.05.2003, 01:55     # 2
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
дык это на рег выражениях написать можно, довольно не сложно
__________________
Всё будет хорошо!
Stasik вне форума  
Старый 02.05.2003, 09:03     # 3
Aeon
::VIP::
 
Аватар для Aeon
 
Регистрация: 28.06.2002
Адрес: neverwhere
Сообщения: 1 166

Aeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собой
один из самых-самых популярных perl-скриптов этого типа: http://www.scriptarchive.com/formmail.html
настраивается за пять минут, работает на ура.
Aeon вне форума  
Старый 05.05.2003, 11:04     # 4
water
Junior Member
 
Регистрация: 19.09.2002
Адрес: Russia
Сообщения: 107

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

Как можно получить данные в скрипте? Например так.
#!/usr/bin/perl
use CGI qw(param);
my $var_1 = param('name');
my $var_2 = param('color);

Это будет работать независимо от того, каким методом отсылаются данные - POST или GET.

Best Regards.
__________________
/\/\/\
water вне форума  
Старый 05.05.2003, 11:45     # 5
Goryn
::VIP::
 
Аватар для Goryn
 
Регистрация: 06.03.2003
Адрес: DZ, LBP, Moscow
Пол: Male
Сообщения: 633

Goryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собой
Цитата:
Как писал water
Тип поля ввода на стороне сервера узнать невозможно. Тип указывается для требуемого отображения на странице. Из формы на сервер передаются только имена полей и их содержимое в виде последовательностей байтов.
:idea: Я пользуюсь не первый год таким кодом (не помню уже где взял, потом какие-то мелочи добавил):

my $buffer="";
if ($ENV{'CONTENT_LENGTH'}) { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); }
if ($buffer eq "") {$buffer=$ENV{'QUERY_STRING'}}
chomp($buffer);
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$in{$name} = $value;
}


В результате получаем хеш-массив %in, к полям которого обращаемя так:

$in{'something'}

де something - это имя поля в форме ХТМЛ
__________________
Меня многие спрашивают, как я живу с тремя головами... На самом деле, я триедин, как Великие Бобы!
Goryn вне форума  
Старый 05.05.2003, 14:43     # 6
water
Junior Member
 
Регистрация: 19.09.2002
Адрес: Russia
Сообщения: 107

water Путь к славе только начался
Код Goryn'а будет работать быстрее.
__________________
/\/\/\
water вне форума  
Старый 05.05.2003, 22:37     # 7
Storm666
Junior Member
 
Регистрация: 13.07.2002
Сообщения: 160

Storm666 Путь к славе только начался
Да хотел спросить в папке cgi-bin что то должно быть изначально? Если да то что?
__________________
Не хочешь обижаться на меня утром- не пей со мной вечером!
Storm666 вне форума  
Старый 05.05.2003, 23:30     # 8
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
ничего
__________________
Всё будет хорошо!
Stasik вне форума  
Старый 05.05.2003, 23:39     # 9
Storm666
Junior Member
 
Регистрация: 13.07.2002
Сообщения: 160

Storm666 Путь к славе только начался
А что надо прописать чтобы работали скрипты.
__________________
Не хочешь обижаться на меня утром- не пей со мной вечером!
Storm666 вне форума  
Старый 06.05.2003, 00:19     # 10
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
надо чтобы сервер разрешал использование..... а что за ошибка?
__________________
Всё будет хорошо!
Stasik вне форума  
Старый 06.05.2003, 09:34     # 11
water
Junior Member
 
Регистрация: 19.09.2002
Адрес: Russia
Сообщения: 107

water Путь к славе только начался
Если скрипты не исполняются и стоит Апач, то в конфигурацию сервера добавить надобно
ScriptAlias /cgi-bin/ /путь_к_папке_со_скриптами/

Если все это добро вдобавок работает на Юникс-подобных системах надо проследить, чтобы переводы строк в запускаемых скриптах были не виндовыми, а юниксовыми.
__________________
/\/\/\
water вне форума  
Старый 06.05.2003, 10:17     # 12
Storm666
Junior Member
 
Регистрация: 13.07.2002
Сообщения: 160

Storm666 Путь к славе только начался
Stasik Ошибка 500
water Apache1.3.27 Это мне надо создать файл srm.conf чтобы в нем было прописано ScriptAlias /cgi-bin/ /usr/http://www.storm666.vnet.ee/cgi-bin/. Или я чего то не понимаю.
__________________
Не хочешь обижаться на меня утром- не пей со мной вечером!
Storm666 вне форума  
Старый 06.05.2003, 11:36     # 13
water
Junior Member
 
Регистрация: 19.09.2002
Адрес: Russia
Сообщения: 107

water Путь к славе только начался
В конфиге, судя по всему, все прописано правильно. Internal Server Error может вылетает из-за ошибки работы скрипта.

Проверь имеется ли первая строчка типа #!/usr/bin/perl Если переводы строк виндовые, эту строчку сервер может не понять. Или, может, Перл сидит в другом каталоге.
Может быть ты забываешь первым делом выводить HTTP-заголовок (print "Content-type: text/html\n\n"

Советую почитать логи сервера.
__________________
/\/\/\
water вне форума  
Старый 06.05.2003, 11:47     # 14
Goryn
::VIP::
 
Аватар для Goryn
 
Регистрация: 06.03.2003
Адрес: DZ, LBP, Moscow
Пол: Male
Сообщения: 633

Goryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собой
Ошибка 500 выдается во всех случаях ошибок выполнения скриптов.
:idea: Если у тебя есть доступ к log-файлам , то посмотри файл ошибки. Он, как правило, называется error.log. Это обычный текстовый файл, куда пишутся все ошибки - можно посмотреть, где напортачил.
Так же проверь, правильно ли ты установил права доступа. Для исполняемых скриптов они должны быть

rwx-rx-rx
__________________
Меня многие спрашивают, как я живу с тремя головами... На самом деле, я триедин, как Великие Бобы!
Goryn вне форума  
Старый 06.05.2003, 20:01     # 15
Storm666
Junior Member
 
Регистрация: 13.07.2002
Сообщения: 160

Storm666 Путь к славе только начался
Goryn [Mon May 5 21:40:43 2003] [error] [client 213.XXX.XXX.XXX] File does not exist: /www/storm666.vnet.ee/cgi-bin/index.htm


Так же проверь, правильно ли ты установил права доступа. Для исполняемых скриптов они должны быть :я вообще их не устанавливал не знаю где. Подскажите.
__________________
Не хочешь обижаться на меня утром- не пей со мной вечером!

Последний раз редактировалось Storm666; 06.05.2003 в 20:11.
Storm666 вне форума  
Старый 06.05.2003, 21:19     # 16
water
Junior Member
 
Регистрация: 19.09.2002
Адрес: Russia
Сообщения: 107

water Путь к славе только начался
Цитата:
я вообще их не устанавливал не знаю где. Подскажите.
Если есть shell-доступ, то командой chmod. Информация о ней: man chmod
Например chmod 755 script.pl

Иначе никак.
Так ты под юниксом все-таки?
__________________
/\/\/\

Последний раз редактировалось water; 06.05.2003 в 21:23.
water вне форума  
Старый 06.05.2003, 21:28     # 17
Goryn
::VIP::
 
Аватар для Goryn
 
Регистрация: 06.03.2003
Адрес: DZ, LBP, Moscow
Пол: Male
Сообщения: 633

Goryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собой
:xex: :rotate:

:чего:

Это то, что я думаю по поводу index.htm в скриптовой папке.
Запиши себе на листке 100 раз и повесь на стенку перед носом:

html, php, shtml, js, swf, java, архивы и прочую лабудень ты выкладываешь в одной папке, которая, как правило, так и называется

html

В скриптовую папке cgi-bin ты выкладываешь
ТОЛЬКО СКРИПТЫ и файлы, с которыми они работают НА СТОРОНЕ СЕРВЕРА.

По поводу прав доступа куда других постов, например этот
__________________
Меня многие спрашивают, как я живу с тремя головами... На самом деле, я триедин, как Великие Бобы!
Goryn вне форума  
Старый 06.05.2003, 21:43     # 18
Storm666
Junior Member
 
Регистрация: 13.07.2002
Сообщения: 160

Storm666 Путь к славе только начался
#!/usr/bin/perl
print "Content-type:text/html\n\n";
print "<html><head><title>HELLO</title></head>\";
print "<body>\n";
print "<h2>Hello</h2>\n";
print "</body></html>\n\";вот такой скрипт лежит в папке cgi-bin и имеет расширение!*.cgi и больше НИЧЕГО.
__________________
Не хочешь обижаться на меня утром- не пей со мной вечером!
Storm666 вне форума  
Старый 06.05.2003, 22:16     # 19
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
print "Content-type: text/html\n\n";
__________________
Всё будет хорошо!
Stasik вне форума  
Старый 06.05.2003, 22:56     # 20
Storm666
Junior Member
 
Регистрация: 13.07.2002
Сообщения: 160

Storm666 Путь к славе только начался
Stasik
Нет не пашет....
__________________
Не хочешь обижаться на меня утром- не пей со мной вечером!
Storm666 вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 09:18.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.