Forum Webscript.Ru

Программирование => Perl => Тема начата: SteelRat от 25 Марта 2002, 23:58:05

Название: Что за проблема с отсылкой больших текстов из форм и её решение....
Отправлено: SteelRat от 25 Марта 2002, 23:58:05
У меня, контент менеджер (типа санитара).
После заливки на сервак встретился с проблемой: Если впихнуть в форму (textarea) крупный текст и послать его на скрипт, нефина не выходит (браузер показывает, что пытается что-то грузить, но по трафику видно, что он нефига не грузит).
Кто-нить знает решение этой траблы?
И какое ограничение на отсылку  - а то ведь на локалхосте всё пинцетно...


BOT :-(.
Название: PS:
Отправлено: SteelRat от 26 Марта 2002, 00:02:17
Есть ли это просто проблема отгрузки по скотости или нет?
Название: PPS:
Отправлено: SteelRat от 26 Марта 2002, 00:19:58
Если надо (если пооможет), линк на форму кину...
Название: Что за проблема с отсылкой больших текстов из форм и её решение....
Отправлено: Chs от 26 Марта 2002, 00:23:55
method = POST ?
Название: ДА
Отправлено: SteelRat от 26 Марта 2002, 00:28:55
Есть варианты?
Query_Reader.pl (module)
#########################################
[censored]
###################################################
Через GET может получиться?
А какие ограничения на POST?
Название: Что за проблема с отсылкой больших текстов из форм и её решение....
Отправлено: Chs от 26 Марта 2002, 00:46:03
Если большой объем данных - то POST однозначно.
Ограничения в rfc2616.:)
Название: У меня
Отправлено: SteelRat от 26 Марта 2002, 00:59:00
ошибка при постинге через post содержания этой статьи:
http://bonch.spb.ru/Musem/article-1.shtml
Целиком и даже по 1/3 (у меня поддержка страниц)
Название: А
Отправлено: SteelRat от 26 Марта 2002, 01:11:30
Что в данной ситуации нужно сделать, не подскажешь? Дробить на мелкие страницы?
Название: Что за проблема с отсылкой больших текстов из форм и её решение....
Отправлено: NeoNox от 26 Марта 2002, 01:28:11
Цитировать
Что в данной ситуации нужно сделать, не подскажешь? Дробить на мелкие страницы?

Да нет... все должно работать.
Только покажи сам скрипт а не две подпрограммы- в них вроде все чисто, за исключением параноидальной проверки данных :)

ЗЫ.Кстати, на странице у меня баг вылез. Скрин в атаче
Название: Этот
Отправлено: SteelRat от 26 Марта 2002, 01:38:00
баг при смене размеров окна - скоро профикшу. Если не менять - всё ок.
Форма:
http://127.0.0.1/cgi-bin/stateynic/index.cgi?action=articles_admining&RunMode=Add_New_Article
Название: Что за проблема с отсылкой больших текстов из форм и её решение....
Отправлено: NeoNox от 26 Марта 2002, 01:42:58
Цитировать
http://127.0.0.1/cgi-bin/stateynic/...Add_New_Article

Гы...
сори, у меня на локалхосте твой скрипт не стоит :(
Цитировать
баг при смене размеров окна - скоро профикшу. Если не менять - всё ок.

А я и не менял. 1024х768
Название: Что за проблема с отсылкой больших текстов из форм и её решение....
Отправлено: SteelRat от 26 Марта 2002, 01:51:49
http://bonch.spb.ru/cgi-bin/stateynic/index.cgi?action=articles_admining&RunMode=Add_New_Article :-)
Меню не должно. У меня под пингвином даже всё ок. Если тока не менять размеры окна браузера.
Название: Что
Отправлено: SteelRat от 26 Марта 2002, 02:04:32
за браузер? кстати?
Название: Можешь
Отправлено: SteelRat от 26 Марта 2002, 02:23:36
смело слать статьи, там стоит автономная бета(или даже альфа)...
Название: А
Отправлено: SteelRat от 26 Марта 2002, 02:34:45
есть ограничения на POST метод?
Название: Что за проблема с отсылкой больших текстов из форм и её решение....
Отправлено: NeoNox от 26 Марта 2002, 14:10:11
Цитировать
есть ограничения на POST метод?

При этом методе нет никаких ограничений для передачи данных содержащих потенциально большие области текста.
Название: Что за проблема с отсылкой больших текстов из форм и её решение....
Отправлено: NeoNox от 26 Марта 2002, 14:19:13
Цитировать
за браузер? кстати?

Opera 6 Вета 1 for Linux
Название: Попробуй, пожалуйста
Отправлено: SteelRat от 26 Марта 2002, 14:40:53
отпостить статью (целиком)
http://bonch.spb.ru/Musem/article-1.shtml
  с формы
http://bonch.spb.ru/cgi-bin/stateynic/index.cgi?action=articles_admining&RunMode=Add_New_Article
Если не лень.
Название: Что за проблема с отсылкой больших текстов из форм и её решение....
Отправлено: NeoNox от 26 Марта 2002, 14:55:40
Да уже попробовал. Ноль.
Ты ерор лог посмотри. Что там интересного написано?
У тебя БД или флат файлы?
Название: уменя
Отправлено: SteelRat от 26 Марта 2002, 14:59:38
на текстовых файлах, но не в одном, а каждой статье - свой файл.
########################################
[censored]
########################################
Название: !!!!
Отправлено: SteelRat от 26 Марта 2002, 15:07:58
http://forums.webscript.ru/showthread.php?s=&threadid=4743

Тут работает. В чём же дело?
Название: Ты ерор лог посмотри.
Отправлено: NeoNox от 26 Марта 2002, 15:17:38
Что в логах?
Название: !!!!
Отправлено: SteelRat от 26 Марта 2002, 15:18:59
http://bonch.spb.ru/cgi-bin/BonchForum/BonchForum.cgi?board=AboutOurSite;action=display;num=1017144922;start=0
Название: В
Отправлено: SteelRat от 26 Марта 2002, 15:19:49
коде сохранения есть ошибки? (код получения данных выше)
Название: Что за проблема с отсылкой больших текстов из форм и её решение....
Отправлено: NeoNox от 26 Марта 2002, 15:33:50
четвертый раз писАть не буду.
В логах что? Есть доступ?
Название: :-)
Отправлено: SteelRat от 26 Марта 2002, 15:53:01
1) Извени, я исходники форума копаю - смотрю, как они сохраняют... Так что изредка заглядываю.
2) Только 2й раз :0)
3) Логи есть. Доступа. А ерроров нет.
Название: а потестить
Отправлено: Green Kakadu от 26 Марта 2002, 17:20:43
SteelRat  вопрос:
1. Данные из формы передаются скрипту или нет ?

Если передаются, то проверь правильно ли ты кнопку в форме обозвал (Submint) + еще чего-нибудь

2. Если не передаются, то посмотри HTML своей формы :)

проблему надо:
а) локализовать
б) решить

А то ты несколько хаотично тут постишь - и себя и других путаешь.
Название: УРРА!!
Отправлено: SteelRat от 26 Марта 2002, 22:34:07
Я победил скрипт. Не понял ещё как, но победил.
Кто подскажет, в чём фишка, тому пряник.
Было:
##########################################
sub QueryReader {
#
#Прочитаем данные, посланные методом GET:
$buffer_get = "$ENV{\'QUERY_STRING\'}";
@pairs_get = split(/&/, $buffer_get);
foreach $pair (@pairs_get) {
&Named_Valuer;
}
#
#Прочитаем данные, посланные методом POST:
sysread(STDIN,$buffer_post,$ENV{\'CONTENT_LENGTH\'}
);
@pairs_post = split(/&/, $buffer_post);
foreach $pair (@pairs_post) {
&Named_Valuer;
}
}
#
#Подпрограмма извлечения имён и значений переменных
#и замены \'лишних/левых\' символов.
sub Named_Valuer {
($name, $value) = split(/=/, $pair);
$name =~ s/\\+/ /g;
$name =~ s/%([0-9a-hA-H]{2})/pack(\'C\',hex($1))/ge;
$name =~ s/\\&/\\&\\;/g;
$name =~ s/\\"/\\"\\;/g;
$name =~ s/\\⌠/\\"\\;/g;
$name =~ s/\\■/\\"\\;/g;
$name =~ s/\'/\\&rsquo\\;/g;
$name =~ s/`/\\&rsquo\\;/g;
$name =~ s/▒/\\&rsquo\\;/g;
$name =~ s/▓/\\&rsquo\\;/g;
$name =~ s/$name =~ s/>/\\>\\;/g;
$name =~ s/\\n/!!PeReHodStRoKi!!/g;
$name =~ s/\\|/!!VeRtPaLkA!!/g;
$value =~ s/\\+/ /g;
$value =~ s/%([0-9a-hA-H]{2})/pack(\'C\',hex($1))/ge;
$value =~ s/\\&/\\&\\;/g;
$value =~ s/\\"/\\"\\;/g;
$value =~ s/\\⌠/\\"\\;/g;
$value =~ s/\\■/\\"\\;/g;
$value =~ s/\'/\\&rsquo\\;/g;
$value =~ s/`/\\&rsquo\\;/g;
$value =~ s/▒/\\&rsquo\\;/g;
$value =~ s/▓/\\&rsquo\\;/g;
$value =~ s/$value =~ s/>/\\>\\;/g;
$value =~ s/\\n/!!PeReHodStRoKi!!/g;
$value =~ s/\\|/!!VeRtPaLkA!!/g;
$PostedData{$name} = $value;
}
#
#Конец.
#########################################


Стало:


##########################################
sub QueryReader {
   my(@pairs, $pair, $name, $value);
   my $query = new CGI;
   @pairs = split(/&/, $ENV{\'QUERY_STRING\'});
   foreach $pair (@pairs) {
        ($name,$value) = split(/=/, $pair);
        $name =~ tr/+/ /;
        $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
        $value =~ tr/+/ /;
        $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
              $name =~ s/\\&/\\&\\;/g;
            $name =~ s/\\"/\\"\\;/g;
            $name =~ s/\\“/\\"\\;/g;
            $name =~ s/\\”/\\"\\;/g;
            $name =~ s/\'/\\&rsquo\\;/g;
            $name =~ s/`/\\&rsquo\\;/g;
            $name =~ s/‘/\\&rsquo\\;/g;
            $name =~ s/’/\\&rsquo\\;/g;
            $name =~ s/            $name =~ s/>/\\>\\;/g;
            $name =~ s/\\n/!!PeReHodStRoKi!!/g;
            $name =~ s/\\|/!!VeRtPaLkA!!/g;
            $value =~ s/\\&/\\&\\;/g;
            $value =~ s/\\"/\\"\\;/g;
            $value =~ s/\\“/\\"\\;/g;
            $value =~ s/\\”/\\"\\;/g;
            $value =~ s/\'/\\&rsquo\\;/g;
            $value =~ s/`/\\&rsquo\\;/g;
            $value =~ s/‘/\\&rsquo\\;/g;
            $value =~ s/’/\\&rsquo\\;/g;
            $value =~ s/            $value =~ s/>/\\>\\;/g;
            $value =~ s/\\n/!!PeReHodStRoKi!!/g;
            $value =~ s/\\|/!!VeRtPaLkA!!/g;
        $PostedData{$name} = $value;
   }
   my (@keylist) = sort($query->param());
   foreach $key (@keylist) {
      # may be dealing with multiple values; need to join with comma
      $value = join(\', \', $query->param($key));
      $name = $key;
            $name =~ s/\\&/\\&\\;/g;
            $name =~ s/\\"/\\"\\;/g;
            $name =~ s/\\“/\\"\\;/g;
            $name =~ s/\\”/\\"\\;/g;
            $name =~ s/\'/\\&rsquo\\;/g;
            $name =~ s/`/\\&rsquo\\;/g;
            $name =~ s/‘/\\&rsquo\\;/g;
            $name =~ s/’/\\&rsquo\\;/g;
            $name =~ s/            $name =~ s/>/\\>\\;/g;
            $name =~ s/\\n/!!PeReHodStRoKi!!/g;
            $name =~ s/\\|/!!VeRtPaLkA!!/g;
            $value =~ s/\\&/\\&\\;/g;
            $value =~ s/\\"/\\"\\;/g;
            $value =~ s/\\“/\\"\\;/g;
            $value =~ s/\\”/\\"\\;/g;
            $value =~ s/\'/\\&rsquo\\;/g;
            $value =~ s/`/\\&rsquo\\;/g;
            $value =~ s/‘/\\&rsquo\\;/g;
            $value =~ s/’/\\&rsquo\\;/g;
            $value =~ s/            $value =~ s/>/\\>\\;/g;
            $value =~ s/\\n/!!PeReHodStRoKi!!/g;
            $value =~ s/\\|/!!VeRtPaLkA!!/g;
      $PostedData{$name} = $value;
   }
}
##########################################


Ладно, это был тест под ишаком, ща в пингвина залезу...
Название: Хм
Отправлено: SteelRat от 31 Марта 2002, 23:46:53
Что, пряники уже никому не нужны?