| imho.ws |
![]() |
|
|
|
# 3 |
|
::VIP::
Регистрация: 28.06.2002
Адрес: neverwhere
Сообщения: 1 166
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
один из самых-самых популярных perl-скриптов этого типа: http://www.scriptarchive.com/formmail.html
настраивается за пять минут, работает на ура. |
|
|
|
|
# 4 |
|
Junior Member
Регистрация: 19.09.2002
Адрес: Russia
Сообщения: 107
![]() |
Тип поля ввода на стороне сервера узнать невозможно. Тип указывается для требуемого отображения на странице. Из формы на сервер передаются только имена полей и их содержимое в виде последовательностей байтов.
Как можно получить данные в скрипте? Например так. #!/usr/bin/perl use CGI qw(param); my $var_1 = param('name'); my $var_2 = param('color); Это будет работать независимо от того, каким методом отсылаются данные - POST или GET. Best Regards.
__________________
/\/\/\ |
|
|
|
|
# 5 | |
|
::VIP::
Регистрация: 06.03.2003
Адрес: DZ, LBP, Moscow
Пол: Male
Сообщения: 633
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
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 - это имя поля в форме ХТМЛ
__________________
Меня многие спрашивают, как я живу с тремя головами... На самом деле, я триедин, как Великие Бобы! |
|
|
|
|
|
# 11 |
|
Junior Member
Регистрация: 19.09.2002
Адрес: Russia
Сообщения: 107
![]() |
Если скрипты не исполняются и стоит Апач, то в конфигурацию сервера добавить надобно
ScriptAlias /cgi-bin/ /путь_к_папке_со_скриптами/ Если все это добро вдобавок работает на Юникс-подобных системах надо проследить, чтобы переводы строк в запускаемых скриптах были не виндовыми, а юниксовыми.
__________________
/\/\/\ |
|
|
|
|
# 12 |
|
Junior Member
Регистрация: 13.07.2002
Сообщения: 160
![]() |
Stasik Ошибка 500
water Apache1.3.27 Это мне надо создать файл srm.conf чтобы в нем было прописано ScriptAlias /cgi-bin/ /usr/http://www.storm666.vnet.ee/cgi-bin/. Или я чего то не понимаю.
__________________
Не хочешь обижаться на меня утром- не пей со мной вечером! |
|
|
|
|
# 13 |
|
Junior Member
Регистрация: 19.09.2002
Адрес: Russia
Сообщения: 107
![]() |
В конфиге, судя по всему, все прописано правильно. Internal Server Error может вылетает из-за ошибки работы скрипта.
Проверь имеется ли первая строчка типа #!/usr/bin/perl Если переводы строк виндовые, эту строчку сервер может не понять. Или, может, Перл сидит в другом каталоге. Может быть ты забываешь первым делом выводить HTTP-заголовок (print "Content-type: text/html\n\n" ![]() Советую почитать логи сервера.
__________________
/\/\/\ |
|
|
|
|
# 14 |
|
::VIP::
Регистрация: 06.03.2003
Адрес: DZ, LBP, Moscow
Пол: Male
Сообщения: 633
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Ошибка 500 выдается во всех случаях ошибок выполнения скриптов.
:idea: Если у тебя есть доступ к log-файлам , то посмотри файл ошибки. Он, как правило, называется error.log. Это обычный текстовый файл, куда пишутся все ошибки - можно посмотреть, где напортачил. Так же проверь, правильно ли ты установил права доступа. Для исполняемых скриптов они должны быть rwx-rx-rx
__________________
Меня многие спрашивают, как я живу с тремя головами... На самом деле, я триедин, как Великие Бобы! |
|
|
|
|
# 15 |
|
Junior Member
Регистрация: 13.07.2002
Сообщения: 160
![]() |
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. |
|
|
|
|
# 16 | |
|
Junior Member
Регистрация: 19.09.2002
Адрес: Russia
Сообщения: 107
![]() |
Цитата:
Например chmod 755 script.pl Иначе никак. Так ты под юниксом все-таки?
__________________
/\/\/\ Последний раз редактировалось water; 06.05.2003 в 21:23. |
|
|
|
|
|
# 17 |
|
::VIP::
Регистрация: 06.03.2003
Адрес: DZ, LBP, Moscow
Пол: Male
Сообщения: 633
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
:xex: :rotate: ![]() :чего: Это то, что я думаю по поводу index.htm в скриптовой папке. Запиши себе на листке 100 раз и повесь на стенку перед носом: html, php, shtml, js, swf, java, архивы и прочую лабудень ты выкладываешь в одной папке, которая, как правило, так и называется html В скриптовую папке cgi-bin ты выкладываешь ТОЛЬКО СКРИПТЫ и файлы, с которыми они работают НА СТОРОНЕ СЕРВЕРА. По поводу прав доступа куда других постов, например этот
__________________
Меня многие спрашивают, как я живу с тремя головами... На самом деле, я триедин, как Великие Бобы! |
|
|
|
|
# 18 |
|
Junior Member
Регистрация: 13.07.2002
Сообщения: 160
![]() |
#!/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 и больше НИЧЕГО.
__________________
Не хочешь обижаться на меня утром- не пей со мной вечером! |
|
|