|
Страница 1 из 1 [ Сообщений: 14 ] |
Автор |
Сообщение |
Proof
новый человек
|
|
Есть у меня Perl (*.pl) скрипт... На странице модерирования есть форма, чтобы изменять значения... Вся конечная инфа сохраняется и берется из *.txt файла.… Так вот... В одном из полей я ввожу html код и все вроде работает нормально, но когда я ввожу достаточно длинный html код, то скрипт просто застывает и не редактирует ни чего.… Пробовал просто для проверки разбить код вдвое и по отдельности всталять и пробовать - работает... Значит, наверное, просто проблема в длине кода... А вот почему - непонятно... Вставлять пытаюсь html код, а точнее таблицу (<table><tr><td> и тд)… ПОлучается достаточно длинным... Еще если вставлять весь код в *.txt файл через блокнот и на сервер загружать, то все прекрасно работает.… В чем проблема то? Скорость у меня хорошая.… Да и код не такой уж и длинный, всего гдето около 3 КБ.…..
Буду благодарен любой помощи... Спасибо.…
|
|
 |
|
 |
Proof
новый человек
|
|
Вот сам скрипт редактирования... Тут проблемное значение $maindesc, то есть основное описание, через которое я и пытаюсь засунуть примерно 3000 знаков или 3 КБ в *.txt файл.… С другими значениями проблем нету.… И еще... Я вроде заметил тенденцию такую: иногда он большой размер запоминает, а иногда нет, но это не факт.…
Вот сам скрипт обработки моех значений:
sub editoldprod { use CGI; my $req = new CGI; $id=$req->param("id"); $imageloc1=$req->param("imageloc1"); $imageloc2=$req->param("imageloc"); $maindesc=$req->param("maindesc"); $maindesc =~ s/\n/<br>/g; $maindesc =~ s/\r//g; $shortdesc=$req->param("shortdesc"); $shortdesc =~ s/\n/<br>/g; $shortdesc =~ s/\r//g; $ctime=time; $itemname=$req->param("itemname"); $imageloc1=$req->param("imageloc1"); $imageloc2=$req->param("imageloc"); $price=$req->param("price"); $categories=$req->param("categories"); $views=$req->param("views");
if($req->param("Delete") eq "ON"){
open(TEMPLATE, "$varroot/$categories.txt"); @template=<TEMPLATE>; close TEMPLATE; foreach $curline (@template) {
unless($curline eq "$id\n") } open(TEMPLATE, ">$varroot/$categories.txt"); print TEMPLATE $template; close TEMPLATE;
unlink("$dataroot/$id.txt"); unlink("$imagesroot/$imageloc1"); unlink("$imagesroot/$imageloc2"); print "Продукт Удален...<br><a href=\"$inventoryurl?action=editprods\">Вернутся к Редактированию Продуктов</a>"; &footer; exit; }
open(TEMPLATE, ">$dataroot/$id.txt"); print TEMPLATE "$itemname\n"; print TEMPLATE "$imageloc1\n"; print TEMPLATE "$imageloc2\n"; print TEMPLATE "$price\n"; print TEMPLATE "$categories\n"; print TEMPLATE "$ctime\n"; print TEMPLATE "$maindesc\n"; print TEMPLATE "$shortdesc\n"; print TEMPLATE "$views\n"; close (TEMPLATE);
print "Информация о Продукте изменена!<br><a href=\"$inventoryurl?action=editprods\">Вернутся к Редактированию Продуктов</a>"; &footer; exit; }
|
|
 |
|
 |
Kwazar
новый человек
|
|
Могу предположить, что причина - вы передаете данные методом get. А в вашем случае стоит приминять post. Но учтите, что и на Post есть ограничение на длину.
[ 30 Октября 2002: Исправлено Kwazar ]
|
|
 |
|
 |
Proof
новый человек
|
|
Kwazar Так я через post и обрабатываю скрипт.… А вот насчет лимита никогда не слышал.…
|
|
 |
|
 |
Raziel[SD]
новый человек
|
|
<BLOCKQUOTE><font size="1" face="Verdana, Tahoma, sans-serif">quote:</font><HR> Чушь какая-то. А как же в форумах сообщения по 10кб печатаются? <HR></BLOCKQUOTE> ...потому что передаются методом POST.
|
|
 |
|
 |
Proof
новый человек
|
|
Кстати, я тут повнимательней порылся и вроде нашел кое-что интересное:
--------------------------- if (($action ne "editoldprod") && ($action ne "addnewprod")) { read(STDIN, $input, $ENV); @pairs = split(/&/, $input); 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; $FORM = $value; } } ------------------------
Как видите тут имеется значение $ENV с кавычками у CONTENT_LENGTH... Подумывал, чтобы даже посавить разрешение на значки, но вот чтото не получилось.… Может это действительно здесь проблема?
[ 06 Ноября 2002: Исправлено Proof ]
[ 06 Ноября 2002: Исправлено Proof ]
[ 06 Ноября 2002: Исправлено Proof ]
|
|
 |
|
 |
cmapuk
новый человек
|
|
<BLOCKQUOTE><font size="1" face="Verdana, Tahoma, sans-serif">quote:</font><HR> read(STDIN, $input, $ENV); <HR></BLOCKQUOTE> это бред
|
|
 |
|
 |
Proof
новый человек
|
|
cmapuk[0nline] в смысле? у $ENV имеется значение CONTENT_LENGTH, но оно здесь не высвечивается.….
|
|
 |
|
 |
cmapuk
новый человек
|
|
<BLOCKQUOTE><font size="1" face="Verdana, Tahoma, sans-serif">quote:</font><HR>Автор Сообщения Proof: <STRONG>cmapuk[0nline] в смысле? у $ENV имеется значение CONTENT_LENGTH, но оно здесь не высвечивается.….</STRONG><HR></BLOCKQUOTE> Ну раз не высвечивается, тада ладно =))
|
|
 |
|
 |
Proof
новый человек
|
|
cmapuk[0nline] ну так вроде же все правильно... может поставить лимит на количество знаков? и установить значительно большое значение...
помоему, все правильно... но скрипт просто ни в какую не хочеть обрабатывать большие значения.…
|
|
 |
|
 |
|
Страница 1 из 1 [ Сообщений: 14 ] |
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
|
|