2014-02-15 2 views
1

У меня есть динамически построенная форма с отметками ~ 900 в одном случае, и только ~ 755 из них передаются на мою страницу обработки.Большая форма, не представляющая все элементы

(Уменьшение размера формы не вариант. Это расписание матрица с работником вниз слева и сдвигами через вершину.)

Мой код обработки

foreach ($_POST as $key => $value){ 
    $keys=explode("-",$key); 
    if(!mysql_query("UPDATE week_schedule SET $keys[1]='$value' WHERE userid='$keys[0]'")){ 
    echo "<p>".$key." was not updated!</p>"; 
    $error=TRUE; 
    } 
} 

ПОМОГИТЕ

+0

Каково значение 'count ($ _ POST)' перед 'foreach'? Это ~ 755 или ~ 900? –

+0

посмотреть, может ли помочь http://stackoverflow.com/questions/8710185/new-limit-within-php-1000-fields-per-post-does-someone-know-if-the-number-can – arilia

+0

@ShaunakKashyap Это значение 755. – KPK

ответ

0

Что такое max_post_size (http://ua1.php.net/ini.core#ini.post-max-size) на вашем сервере php.ini, возможно, вы могли бы запустить его. Кроме того, согласно руководству php, чем $_POST должно быть пустым, но все равно стоит его проверить.

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

Также сценарий может закончиться max_execution_time при выполнении ≈900 запросов на обновление базы данных.

P.S. Я вижу из комментария к вопросу, что только ≈750 полей проходят, поэтому, возможно, в вашей форме есть проблема с именами, и у вас есть некоторые флажки с одинаковыми именами?

+0

post_max_size - 128M, max_execution_time - 30. Я не думаю, что могу изменить эти значения на моем общем хосте. У меня нет дубликатов названных флажков. Моя проблема существует во всех браузерах. :( – KPK

Смежные вопросы