Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не обрабатывается запрос, на выходе пустой $query 
:(
    Опции темы
DonPager
Дата 29.3.2003, 03:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Колдырь
**


Профиль
Группа: Участник
Сообщений: 327
Регистрация: 28.3.2003
Где: Воронеж

Репутация: нет
Всего: 2



такая вот проблемка:
почему то не обрабатывавается запрос в этом коде :
Код

#!D:\Lang\Perl\bin\perl.exe
#chart.cgi
$datafile="d:/webserver/logs/topten.dat";
sub urldecode{
 local($val)=@_;
 $val=~s/\+/ /g;
 $val=~s/%([0-9a-hA-H]{2})/pack('C',hex($1))/eg;
 return $val;
 }
$cont_len=$ENV{'CONTENT_LENGTH'};  
if($ENV{'REQEST_METOD'} eq 'GET'){$query=$ENV{'QUERY_STRING'};}
else{sysread(STDIN,$query,$cont_len);}
if($query ne ''){
@fields=split(/&/,$query);
foreach(@fields){
 if(/^best(.*)/){$best=&urldecode($1);}
}
open(DATA,">>$datafile")||die "Немогу открыть $datafile\n";
print DATA $best;
close(DATA);
}
open(DATA,"$datafile")||die "Немогу открыть $datafile\n";
@AllData=<DATA>;
close(DATA);
$total=$#AllData+1;
foreach(@AllData){
#($best)=split(/\t/,$_);
$val1_cnt++ if($best eq 'val1');
$val2_cnt++ if($best eq 'val2');
$val3_cnt++ if($best eq 'val3');
$val4_cnt++ if($best eq 'val4');
$val5_cnt++ if($best eq 'val5');
$val6_cnt++ if($best eq 'val6');
$val7_cnt++ if($best eq 'val7');
$val8_cnt++ if($best eq 'val8');
$val9_cnt++ if($best eq 'val9');
$val0_cnt++ if($best eq 'val0');
}
print "Refresh: 0 url=\"http:\/\/zlodei\/\"\n";
print "Content-type: text/html; charset=windows-1251\n\n";
print "<script language=JavaScript>\n";
print "some=window.open(\"\",\"okno\",\"width=200,height=250\");\n";
print "some.document.open();\n";
print "some.document.write(\"<HTML><head><Title>Результаты голосования</title></head>\");\n";
print "some.document.write(\"<BODY bgcolor=\\"lightgrey\\">\");\n";
print "some.document.write(\"Всего проголосовало $total<hr>\");\n";
print "some.document.write(\"1-$query- \");\n";
print "some.document.write(\"2-$best- \");\n";
print "some.document.write(\"<\/BODY><\/HTML>\");\n";
print "some.document.close();\n";
print "</script>";

и в чём мои недаработки ?


--------------------
кодер + лодырь = колдырь
PM MAIL ICQ Skype GTalk   Вверх
acp
Дата 29.3.2003, 06:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 4.2.2003
Где: Владимир

Репутация: нет
Всего: 2



Насколько я могу судить - в части получения $query всё нормально. А что нельзя перед
Код
if($query ne '')

вставить
Код
print("Content-type: text/html\n\n");
print($query);

И посмотреть, что это даст.
PM WWW ICQ   Вверх
DonPager
Дата 29.3.2003, 06:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Колдырь
**


Профиль
Группа: Участник
Сообщений: 327
Регистрация: 28.3.2003
Где: Воронеж

Репутация: нет
Всего: 2



вставлял ...
смотрел ...
quey пустой.... причём даже пбовал вбивать запрос вручную -не помогает sad.gif


--------------------
кодер + лодырь = колдырь
PM MAIL ICQ Skype GTalk   Вверх
DonPager
Дата 29.3.2003, 06:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Колдырь
**


Профиль
Группа: Участник
Сообщений: 327
Регистрация: 28.3.2003
Где: Воронеж

Репутация: нет
Всего: 2



...может я что настроил неправильно ?
(но гостевая с темже начальным кодом работает правда там метод POST)


--------------------
кодер + лодырь = колдырь
PM MAIL ICQ Skype GTalk   Вверх
acp
Дата 29.3.2003, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 4.2.2003
Где: Владимир

Репутация: нет
Всего: 2



Не могу сказать в чём проблема... Может HTML код формы написан неправильно?
PM WWW ICQ   Вверх
DonPager
Дата 29.3.2003, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Колдырь
**


Профиль
Группа: Участник
Сообщений: 327
Регистрация: 28.3.2003
Где: Воронеж

Репутация: нет
Всего: 2



незнаю почему, но с GET'ом рабртать отказывается :o ,
ставлю на форме POST и всё работает,
в чём дело даже не знаю...



--------------------
кодер + лодырь = колдырь
PM MAIL ICQ Skype GTalk   Вверх
acp
Дата 29.3.2003, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 4.2.2003
Где: Владимир

Репутация: нет
Всего: 2



НУ И ЕРУНДА! (сначала хотел написать "посильнее") smile.gif

Код
if($ENV{'REQEST_METOD'} eq...


Опечатка. Надо

Код
REQUEST_METHOD


Это сообщение отредактировал(а) acp - 29.3.2003, 21:08
PM WWW ICQ   Вверх
acp
Дата 29.3.2003, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 4.2.2003
Где: Владимир

Репутация: нет
Всего: 2



Кстати. Я могу сказать в чём твоя проблема, и почему отлов ошибки занял так много времени. Проблема в "некрасивости" кода, буквы "сливаются" между собой. Например, лично я бы написал эту часть кода так
Код

...
$cont_len = $ENV{'CONTENT_LENGTH'};

if ($ENV{'REQUEST_METHOD'} eq 'GET')
{
 $query = $ENV{'QUERY_STRING'};
}
else
{
 sysread(STDIN, $query, $cont_len);
}

if ($query ne '')
{
...


Это сообщение отредактировал(а) acp - 29.3.2003, 21:08
PM WWW ICQ   Вверх
DonPager
Дата 29.3.2003, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Колдырь
**


Профиль
Группа: Участник
Сообщений: 327
Регистрация: 28.3.2003
Где: Воронеж

Репутация: нет
Всего: 2



smile.gif да опечатки нашт враги .... бывает..
спасибо за помощь


--------------------
кодер + лодырь = колдырь
PM MAIL ICQ Skype GTalk   Вверх
NightGoblin
Дата 13.4.2003, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1021
Регистрация: 24.11.2002
Где: 127.0.0.1

Репутация: нет
Всего: 11



(void)

Сорри, на вопрос уже ответили...

Это сообщение отредактировал(а) NightGoblin - 13.4.2003, 10:35


--------------------
Kernel panic: /dev/null overflow!
GCS/IT/MU/O d-@ s: a- C++$>++++$ ULSB(+++) P+++ L+++>++++ !E W++(-) N o? K w-- O? M>+ V? PS+ PE Y+ PGP+>+++ t- 5 X+ R- !tv b+ DI+ D+ G e++ h--- r++ y?
B4F1 54B6 8738 26CD 5125 0581 B923 9273 FE59 1981
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.4814 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.