Приветствую! Движок магазина построен по MVC. В магазине, у продавца, на странице создания товара, есть форма карточки товара, в которой набивается всё про товар, в том числе атрибуты товара. Создание каждого атрибута товара, при сабмите формы, создает в базе отдельную запись отдельного товара, со своим персональным ID. Если продавец создал количество атрибутов превышающее 55 шт., то форма не отправляется. Получается, если сразу создается 55 товаров, то форма выполняется, а если 56, то уже нет, ничего не происходит. Нигде в движке не нашел ограничения по количеству более 55 шт.. Как проверить что мешает сабмитить форму? Как такое решается? Слишком большой запрос? Как это решается? Заранее спасибо, откликнувшимся!
Если ругается сервер или сам пых, то соответственно на их стороне решается (есть соответствующие параметры настройки). --- Добавлено --- А нельзя сначала отдельно создать атрибуты, а потом при добавлении товара их просто выбирать? Или вы это и имели в виду под созданием?
В том то и дело, что никакие ошибки не показывает PHP. Как вот проверить что именно мешает записи в базу более 55 строк? При нажатии кнопки сабмит - просто ничего не происходит, если 56 атрибутов выбрано. А если 55 атрибутов выбрано, то довольно быстро записывает строки в базу и PHP отдает сообщение, что операция сохранения данных прошла успешно. В функции контроллера, которая обрабатывает сабмит - нет никаких ограничений. В модели, который использует контроллер - тоже нет ограничений. Да, атрибуты создаю заранее, на другой странице. А потом, в карточке товара у каждого атрибута ставлю галочку в чекбоксе и выбираю, таким образом, нужный атрибут.
Сейчас попробовал ещё раз сохранить форму, удалось сохранить при 56 шт. атрибутов, а при 57 шт. уже не сохраняет. А ранее тестировал, удавалось сохранить только при 55 шт.. Значит не какая-то настройка разрешающая 55 шт. атрибутов участвует в количестве сохранения атрибутов, а видимо запрос слишком большой и его либо PHP либо сервер не обрабатывает. Как узнать что именно мешает? Какие тесты нужно проводить в таком случае?
Вряд ли что-то прояснится, пока вы не предъявите форму. Это как минимум. Причин такого поведения может быть несколько. Начиная с ограничения на длину запроса, лимита памяти и тд Если там что-то секретное, то отправьте вашу форму в простой тестовый обработчик. В зависимости от результата это, возможно, сразу отсечет сразу несколько причин. Не связанных с движком.
Не понял этого совета. Можете подробнее объяснить, что значит отправить форму в простой тестовый обработчик?
Создайте текстовый документ с расширением php Вставьте в него Код (Text): <pre> <?php print_r($_POST); ?> В атрибуте action вашей формы укажите его адрес
Сделал, но ничего не происходит, форма не отправляется, никакие сообщения не выводятся. Сама форма отправляется ajax'ом, может из за этого нужно по-другому оформить тест.
Определенно. С каждым новым сообщением вы даете все больше информации о проблеме. Думаю, странице на пятой этого топика, мы таки разберемся.
@Drunkenmunky, @Vaska вменяемый человек, работал с ним, пропьюсь -- решу проблему, у меня почти весь код тот локально есть (там всё непросто, неплохой китайский фрэймвёк, поверху отвратительный китайский говнокод). То, что не смог описать глюк, ну, бывает.