Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/64: Рейтинг темы: голосов - 64, средняя оценка - 4.64
1 / 1 / 0
Регистрация: 03.07.2010
Сообщений: 11

Большой объем текста через POST (textarea)

03.07.2010, 23:52. Показов 13384. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте

Столкнулся с такой проблемой
Как можно передать большой объем текста (до 550 Kb) через форму в тегах <textarea> через POST?

уточняю:

текстовая переменная объемом до 60 Кб отправленная через форму в тегах <textarea> через POST доходит до сервера нормально (проверяется на сервере пустая или нет перед тем как обрабатываться). например:
проверка if ($text=="") return false; else return true; Выдает true (все нормально) потом текст парсится и пишется в базу ...

текстовая переменная объемом свыше 60 Кб отправленная через форму в тегах <textarea> через POST доходит до сервера пустая т.е.
например
проверка if ($text=="") return false; else return true; Выдает false

Это ограничение апач или php?
Что мне нужно сделать и где что прописать, подскажите пожалуйста.

Помогите решить проблему, очень нужно ...
С нетерпением жду....
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.07.2010, 23:52
Ответы с готовыми решениями:

Большой объём текста в TMemo
Имеется текстовый файл весом порядка 1 мегабайта Если текст загонять в TMemo через...

Как вывести большой объём текста?
При использовании QTextEdit или QPlainTextEdit Если попытаться вывести за 1 цикл, текста больше чем помещается в едитку без прокрутки,...

Как хранить в приложении большой объем текста
как вставить текст в Visual Basic?

19
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
04.07.2010, 06:24
Где-то с именами переменных ошибаетесь или с механизмом форм в принципе.
PHP
1
2
print_r($_POST);
print_r($_GET);
0
1 / 1 / 0
Регистрация: 03.07.2010
Сообщений: 11
04.07.2010, 09:15  [ТС]
нет, ошибок в переменной нет, массив $_POST показывает так же что переменная пустая...

да и если бы была ошибка то переменная размером до 60 kb то же приходила бы пустой.

тем более локально работает все нормально, а на хостинге - вот такая вот хрень.

Поддержка хостинга молчит... Говорят, что с такими просьбами ни кто не обращался и им нужно время, чтоб разобраться. Проще говоря сами не знают куда лезть.
Вот я и подумал, может здесь чего нибудь умное подскажут. Или кто то с такой хренью сталкивался...
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
04.07.2010, 09:31
Так. Про register_globals Вы в курсе?
PHP
1
2
3
4
<?php
error_reporting(E_ALL);
var_dump($text);
var_dump($_POST['text']);
И покажите форму, которой отправляете, и скрипт, которым проверяете.
0
1 / 1 / 0
Регистрация: 03.07.2010
Сообщений: 11
04.07.2010, 09:44  [ТС]
да, register_globals - Off (отключены)

вот форма:

HTML5
1
2
3
4
5
6
7
8
9
<FORM name="t_add" enctype="multipart/form-data" METHOD="POST" ACTION="test_upd.php">
 
<div><textarea id="teTestCode" name="dsk" rows="50" cols="120"><?=@$dsk?></textarea></div>
 
<div><INPUT TYPE="submit" name="submit" value="Записать"></div>
 
<INPUT type="hidden" NAME="go" VALUE="test_upd">
 
</FORM>
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
04.07.2010, 09:50
Цитата Сообщение от miike71 Посмотреть сообщение
name="dsk"
Так надо искать $_POST['dsk']
0
1 / 1 / 0
Регистрация: 03.07.2010
Сообщений: 11
04.07.2010, 09:56  [ТС]
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Так. Про register_globals Вы в курсе?
PHP
1
2
3
4
<?php
error_reporting(E_ALL);
var_dump($text);
var_dump($_POST['text']);
вот что получилось
Notice: Undefined variable: dsk in /home/online/public_html/admin/test.php on line 260
NULL
Notice: Undefined index: dsk in /home/online/public_html/admin/test.php on line 261
NULL
Notice: Undefined variable: dsk in /home/online/public_html/admin/test.php on line 266



extract ($_POST);
260: var_dump($dsk);
261: var_dump($_POST['dsk']);
266: if ($dsk == "") $err .="<li>Нет теста</li>";

Добавлено через 4 минуты
name в форме это имя переменной POST, зачем ей абсолютное значение то присваивать.

Ладно, почему тогда с текстом, размером меньше 60 Кб все работает нормально?????
0
 Аватар для GalaX
701 / 573 / 59
Регистрация: 18.11.2008
Сообщений: 2,147
04.07.2010, 10:02
может это поможет:
http://httpd.apache.org/docs/1... equestbody
1
1 / 1 / 0
Регистрация: 03.07.2010
Сообщений: 11
04.07.2010, 10:07  [ТС]
фантастика - правда?
сервер даже переменную такую не видит... когда размер текста больше 60 Кб.

Добавлено через 5 минут
слушай, это вариант...
Не подскажете как это все в httacces правильно записать.
0
33 / 33 / 12
Регистрация: 18.05.2010
Сообщений: 99
04.07.2010, 10:19
В Apache действительно можно ограничить максимальный размер запроса, если я не ошибаюсь, за это отвечает директива LimitRequestBody. Насколько мне известно, её можно переопределять в .htaccess. Создайте в корне сайта файл .htaccess и напишите там LimitRequestBody 1048576. Если не поможет, трясите хостера, пусть сам снимает ограничение.

Добавлено через 4 минуты
Пока набирал, меня опередили.
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
04.07.2010, 10:21
Еще в php.ini есть post_max_size.
0
1 / 1 / 0
Регистрация: 03.07.2010
Сообщений: 11
04.07.2010, 11:18  [ТС]
Цитата Сообщение от KarfaX Посмотреть сообщение
Создайте в корне сайта файл .htaccess и напишите там LimitRequestBody 1048576.
не помогло ...

Добавлено через 1 минуту
Не, народ...
с закачкой файлов до 2 Мб проблем нет.

Добавлено через 2 минуты
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Еще в php.ini есть post_max_size.
написано:
php_value post_max_size 8M
php_value upload_max_filesize 2M

с этим все нормально

Добавлено через 7 минут
вопрос, а в php можно как то описать переменную, ну типа присвоить ей longText.
может значение просто не присваивается ввиду того, что переменная не описана должным образом?

Добавлено через 3 минуты
вопрос, а в php можно как то описать переменную, ну типа присвоить ей longText.
может значение просто не присваивается ввиду того, что переменная не описана должным образом?
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
04.07.2010, 11:25
На всякий случай, вот тест набросал.
Попробуйте
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
error_reporting(E_ALL);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Post test</title>
<script type="text/javascript">
function create_text() {
    var o = document.getElementById('id_text');
    if (!o) return alert('Invalid ID');
    var s = 'многобуков ', L = 1024 * 1024;
    while (s.length < L) s += s;
    o.value = s;
    o = document.getElementById('lbl_text');
    if (o) o.innerHTML = 'Сгенерировано символов: ' + s.length;
}
</script>
</head>
<body onload="create_text()">
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    if (isset($_POST['text'])) echo '<div style="color:#090">В $_POST[\'text\'] принято байт: ', strlen($_POST['text']), '</div>';
    else echo '<div style="color:#c00">Нет переменной $_POST[\'text\']</div>';
}
?>
<form action="" method="post">
    <label for="id_text" id="lbl_text"></label>
    <div><textarea name="text" id="id_text" style="width:800px;height:100px"></textarea></div>
    <input type="submit" value="Test" />
</form>
</body>
</html>
0
1 / 1 / 0
Регистрация: 03.07.2010
Сообщений: 11
04.07.2010, 12:17  [ТС]
сейчас попробую, хостер ответил...
напишу чуть позже

Добавлено через 13 минут
попробывал

ответ теста: Нет переменной $_POST['text']

Добавлено через 56 секунд
Сгенерировано символов: 1441792
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
04.07.2010, 12:22
Меняйте хостера, если та фича в htaccess не настраивается.
0
1 / 1 / 0
Регистрация: 03.07.2010
Сообщений: 11
04.07.2010, 12:23  [ТС]
да блин, попал ...
0
04.07.2010, 12:25

Не по теме:

А что за хостер, кстати?

0
1 / 1 / 0
Регистрация: 03.07.2010
Сообщений: 11
04.07.2010, 12:29  [ТС]
https://best-hoster.ru/
0
04.07.2010, 12:39

Не по теме:

miike71, как оказалось, не такой уж и бест:)

0
1 / 1 / 0
Регистрация: 03.07.2010
Сообщений: 11
04.07.2010, 17:38  [ТС]
рассказываю чем все это кончилось:

вообщем я обошел это ограничение следующим способом
по клику submit формы запускается js обработчик, который читает большой текст из textarea построчно, затем создает массив по 100 строк, дописывает в форме поля textarea по количеству массива, удаляет основное поле ввода и нажимает submit.

сервер принимает дописанные textarea в цикле и скрепляет их заново, парсит и пишет в базу.
Согласен, чистой воды извращение, но работает.

Вы не поверите, только я это сделал, как хостеры написали, что решили проблему.

Детектив блин. 2 дня бился....

Тема закрыта, всем спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.07.2010, 17:38
Помогаю со студенческими работами здесь

Какими средствами можно вставить большой объем текста в БД
Здравствуйте. Мне необходимо вставить в базу данных несколько больших текстов. Через label неудобно, подскажите как и через что еще можно...

Microsoft Translator: как перевести большой объем текста
пишу парсер, парсер занаганяет в переводчик текст с HTML тегами, эсли статти малинкие всё отлично, эсли большые тогда проблема. Использую...

Вставить в код BAT-файла большой объём воспроизводимого текста с возможностью его быстрого редактирования
Уважаемые эксперты. Здравствуйте, подскажите пожалуйста, как в BAT-файл можно вставить любой большой объем текста? Чтоб потом можно было...

textarea POST
Как передать форму методом пост? в ней различные инпуты - тексты, чекбоксы - они все передаются, а текстария что-то не хочет. ...

Textarea и POST
Всем привет. Имеется функция редактрования таблицы, но почему то в textarea не попадают данные из массива POST, если вместо textarea...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru