![]() |
|
Модераторы: 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. |