Проблема в следующем: попался вредный хостер - не позволяет отправить методом POST в одном запросе более 355 переменных (это не ограничение на объем передаваемых данных - post_max_size) - не могу найти что это за ограничение и вообще настройка ли это php или apache. Может кто сталкивался? Подскажите как обойти.
На серваке:
- PHP Version 5.2.14
- System Linux
- Apache 2.0
За ранее спасибо
Спустя 13 минут, 2 секунды (17.08.2010 - 21:39) sergeiss написал(а):
Предупреждение по поводу множественного создания одной темы!!!
Предупреждение первое и последнее.
Предупреждение первое и последнее.
Спустя 5 минут, 20 секунд (17.08.2010 - 21:44) FatCat написал(а):
Цитата (bazhin @ 17.08.2010 - 22:27) |
и вообще настройка ли это php или apache |
Если настройки апача, то избыточное число переменных должно, ИМХО, дать ответ, характерный для апача: пятисотые страницы.
Спустя 6 минут, 49 секунд (17.08.2010 - 21:51) bazhin написал(а):
Цитата |
Если настройки апача, то избыточное число переменных должно, ИМХО, дать ответ, характерный для апача: пятисотые страницы. |
Да ответ apache 403 блин, точно как сразу об этом не подумал.
Может кто подскажет как это обойти?
Спустя 5 часов, 36 минут, 2 секунды (18.08.2010 - 03:27) FatCat написал(а):
Я плохо знаю апач.
Джаваскрипт знаю лучше.
Джаваскриптом собрать весь массив так, словно строку запроса по GET, и ее передать по POST как один элемент массива, а уже средствами php принять и рассплитовать как надо.
Вот, попробовал набросать пример кода:
Джаваскрипт знаю лучше.
Джаваскриптом собрать весь массив так, словно строку запроса по GET, и ее передать по POST как один элемент массива, а уже средствами php принять и рассплитовать как надо.
Вот, попробовал набросать пример кода:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<!--Форму заполняет посетитель-->
<form action="" name="collect">
Эту форму заполняет посетитель:<br>
Первое поле: <input type="text" name="f1" id="f1" value="11"><br>
Второе поле: <input type="text" name="f2" id="f2" value="22"><br>
Чекбокс: <input type="checkbox" name="c1" id="c1" value="33"><br>
</form>
<!--Закрыли форму, сабмита нет.-->
<script type="text/javascript">
function make_str(){
to_send = '';
for(var i=0;i<document.collect.elements.length;i++)
{
var e = document.collect.elements[i];
var is_exist = true
if(e.type=='checkbox')if(e.checked == false)is_exist = false; // Не собираем неотмеченные чекбоксы
if(e.type=='text')if(document.getElementById(e.name).value == '')is_exist = false; // Не собираем пустые текстовые поля
if(is_exist)to_send += '&'+e.name+'='+document.getElementById(e.name).value;
}
document.getElementById('send').value = to_send;
}
</script>
<form action="POST" name="action_form" id="action_form">
<!--Этот инпут только для демонстрации сделан видимым-->
<input type="text" name="send" id="send">
<!--В него пишется собранная строка-->
<br><input type="submit" name="go" value="go" onMouseOver="make_str()" onFocus="make_str()">
</form>
</body>
</html>
Спустя 5 часов, 1 минута, 26 секунд (18.08.2010 - 08:29) bazhin написал(а):
FatCat
Да, идея отличная (намного лучше предложил sergeiss ), гораздо проще чем если разбивать таблицу с данными на несколько страниц. Но придется лезть в CMS - потеряется возможность обновления
Несколько слов, о том где эта проблема:
Есть такой шоп prestashop, у него есть админка, на одной из страниц админки можно перевести практически весь фронт с одного языка на другой, соответственно количество переменных при этом порядка 2500.
По поводу пересылки части данных в GET
1. скорее всего у хостера на GET еще большее ограничение
2. передавать надо текстовые данные с длинной строки до 255 символов!!!
Так что полностью или частично заменить метод передачи данных, скорее всего не получится.
Кстати, FatCat , твоя идея может сработать, но только если данные переместить не в строку URL, а в одну или несколько переменных!!!!!!!!!!!! и передать их тем же POST-ом. Спасибо за отличную подсказку.
Да, идея отличная (намного лучше предложил sergeiss ), гораздо проще чем если разбивать таблицу с данными на несколько страниц. Но придется лезть в CMS - потеряется возможность обновления
Несколько слов, о том где эта проблема:
Есть такой шоп prestashop, у него есть админка, на одной из страниц админки можно перевести практически весь фронт с одного языка на другой, соответственно количество переменных при этом порядка 2500.
По поводу пересылки части данных в GET
1. скорее всего у хостера на GET еще большее ограничение
2. передавать надо текстовые данные с длинной строки до 255 символов!!!
Так что полностью или частично заменить метод передачи данных, скорее всего не получится.
Кстати, FatCat , твоя идея может сработать, но только если данные переместить не в строку URL, а в одну или несколько переменных!!!!!!!!!!!! и передать их тем же POST-ом. Спасибо за отличную подсказку.
Спустя 4 часа, 3 минуты, 50 секунд (18.08.2010 - 12:32) FatCat написал(а):
Цитата (bazhin @ 18.08.2010 - 09:29) |
скорее всего у хостера на GET еще большее ограничение |
Обрати внимание, в коде ДВЕ формы.
Отправка данных будет из второй формы, а там
Цитата (FatCat @ 18.08.2010 - 04:27) |
<form action="POST" |
Лишь для примера данные записаны так, словно будут отдаваться по GET, на самом деле это строка текста, и ее ограничения - это скорее всего 8 Мб, как на большинстве хостингов.
Спустя 5 минут, 11 секунд (18.08.2010 - 12:38) bazhin написал(а):
Все всем спасибо, проблема решилась - хостер отключил ModSecurity - кому интересно что это: http://www.modsecurity.org
Спустя 23 дня, 7 часов, 22 минуты, 26 секунд (11.09.2010 - 20:00) Гость_Владимир написал(а):
друзья!
подскажите новичку мой первый код
вставляю на действующею Веб страницу, написанную в HTML
код
<?php
$w=привет;
echo $"w";
?>
на веб-странице нечего не появилось в чем причина
зарание спасибо
подскажите новичку мой первый код
вставляю на действующею Веб страницу, написанную в HTML
код
<?php
$w=привет;
echo $"w";
?>
на веб-странице нечего не появилось в чем причина
зарание спасибо
Спустя 10 минут, 34 секунды (11.09.2010 - 20:11) Lenarfate написал(а):
echo $w;
Спустя 19 минут, 20 секунд (11.09.2010 - 20:30) Гость_Владимир написал(а):
всеравно нечего
Спустя 12 дней, 20 часов, 32 минуты, 59 секунд (24.09.2010 - 17:03) Guest написал(а):
<?
$w="привет";
echo $w;
?>
или
<?
$w="привет";
echo "$w";
?>
Спустя 33 минуты, 38 секунд (24.09.2010 - 17:36) inpost написал(а):
Гость_Владимир
Создай отдельную тему!
Создай отдельную тему!
_____________
Невозможное - это то единственное чем имеет смысл заниматься