![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
kentochek |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 24.5.2007 Репутация: нет Всего: нет |
При запуске на хостинге своего скрипта, возникает такая ошибка
CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers. В чем может быть проблема, помогите плиз... P.S. на локальной машине все нормально работает Это сообщение отредактировал(а) kentochek - 25.5.2007, 13:01 |
|||
|
||||
nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 12 Всего: 84 |
kentochek, покажите кусок скрипта с передачей заголовка... или так сказать - начало самого скрипта
![]() |
|||
|
||||
kentochek |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 24.5.2007 Репутация: нет Всего: нет |
#! perl -wT use strict; use lib qw(.); use CGI qw(:all); use CGI::Carp qw(fatalsToBrowser); $|=1; my %Form; my @pairs=split(/&/,$ENV{'QUERY_STRING'}); my @NewPairs; foreach (@pairs){ my($name,$value)=split(/=/,$_); push(@NewPairs,$name); push(@NewPairs,$value); $value=~tr/+/ /; $value=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; $Form{$name}=$value; } print "Content-type: text/html\n\n"; ... Далее пошли различные обработки... |
|||
|
||||
Nab |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 8 Всего: 37 |
kentochek, из какой древней книжки вы берете свои рецепты?
все что Вы тут привели, дублируется два раза... Достаточно вот этого:
вместо своих $Form{Имя параметра} теперь можно использовать $q->param(Имя параметра) Но даже с Вашим кодом не должно вызывать ошибку.... Приводите скрипт полностью... -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
|||
|
||||
kentochek |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 24.5.2007 Репутация: нет Всего: нет |
#! perl -wT
use strict; use lib qw(.); use CGI qw(:all); use CGI::Carp qw(fatalsToBrowser); #####Подключаем модули которые выводят разметку страницы use Main; #####выводим текст на главной странице use MainPage_Top; #####заголовок страницы и меню use MainPage_Bottom; #####низ страницы и закрывающие теги $|=1; my %Form; my @pairs=split(/&/,$ENV{'QUERY_STRING'}); my @NewPairs; foreach (@pairs){ my($name,$value)=split(/=/,$_); push(@NewPairs,$name); push(@NewPairs,$value); $value=~tr/+/ /; $value=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; $Form{$name}=$value; } print "Content-type: text/html\n\n"; if(($NewPairs[1] eq 'Main') or (!param())) { MainPage_Top->Top; Main->Main_Page; MainPage_Bottom->Bottom; print qq(</tr></table></body></html>); } Тело модулей (к примеру Main.pm) package Main; use strict; sub Main_Page{ print <<HTML; <tr> <td align="center"><font class=c_name_header>Text_0</font></td> </tr> <tr> <td height="100%" class="body_txt" style="padding-left:5"> <font size=2 style="padding-left:35">Text_2<br><br></font> <font style="padding-left:35" size=2>Text_1<br></font> <br></td> </tr> HTML } 1; В остальных модулях, вывод производится аналогично, т.е. там выводится разметка самой HTML страницы... |
|||
|
||||
Nab |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 8 Всего: 37 |
Аааааааа, понял наверно потому что на локальной машине у вас винда а заливаете наверно на нормальный линукс....
поставьте вместо ваших абсолютно некорректных '#! perl -wT' нормальную строку
Первая строка файла и БЕЗ пробелов!!!! А вообщеб разбирать ваш код не пожелаю никому... :( так уже давно не пишут... ![]() хотя если вы учитесь то норм ![]() ![]() -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
|||
|
||||
kentochek |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 24.5.2007 Репутация: нет Всего: нет |
Да, учусь пока ![]() А как щас принято писать? |
|||
|
||||
Nab |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 8 Всего: 37 |
Так заработало, или нет?
ну тут вопрос сложный ![]() Если вы генерите весь вывод скриптом, то можно заюзать соответствующие функции CGI.pm, или аналогичного... почитайте документацию по нему... была гдето даже на русском... поищите в прикрепленных топиках на форуме... Но наверно набирающий сейчас обороты, это способ когда данные отдельно, представление отдельно и оформление тоже отдельно ![]() То есть использование какой либо системы шаблонов для генерации кода и CSS для последующего его приведения к необходимому виду... Для начала я рекомендую поглядеть на HTML::Template, как простой, но в тоже время вполне достаточный для большинства задач. Хотя альтернатив предостаточно, это и более мощная, даже слишком как по мне, TemplateToolkit, и мало мне знакомый Petal, и еще несколько, да и свою написать не так сложно... Когда-то в бытнось мою чайником я тоже простенькую писал ![]() -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
|||
|
||||
nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 12 Всего: 84 |
вроде даже тут доступно ![]() http://forum.vingrad.ru/forum/topic-1167.html |
|||
|
||||
djkostya |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 16.5.2006 Где: Москва Репутация: 1 Всего: 2 |
По ходу
А что означает
????????????????? |
|||
|
||||
Nab |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 8 Всего: 37 |
Отключает буферизацию для текущего STDOUT.... То есть вывод строки, на экран к примеру, произойдет сразу после символа перевода строки, или окончания текста, а не после заполнения буфера терминала.... По моим наблюдениям около 4 килобайт. -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: CGI программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |