За последние 24 часа нас посетили 22712 программистов и 1200 роботов. Сейчас ищет 701 программист ...

Не отправляется форма из за количества атрибутов, превышающих 55 шт.

Тема в разделе "PHP для новичков", создана пользователем Vaska, 22 окт 2022.

  1. Vaska

    Vaska Активный пользователь

    С нами с:
    7 ноя 2019
    Сообщения:
    43
    Симпатии:
    3
    Приветствую!
    Движок магазина построен по MVC.
    В магазине, у продавца, на странице создания товара, есть форма карточки товара, в которой набивается всё про товар, в том числе атрибуты товара.
    Создание каждого атрибута товара, при сабмите формы, создает в базе отдельную запись отдельного товара, со своим персональным ID.
    Если продавец создал количество атрибутов превышающее 55 шт., то форма не отправляется.
    Получается, если сразу создается 55 товаров, то форма выполняется, а если 56, то уже нет, ничего не происходит.
    Нигде в движке не нашел ограничения по количеству более 55 шт..
    Как проверить что мешает сабмитить форму? Как такое решается?
    Слишком большой запрос? Как это решается?

    Заранее спасибо, откликнувшимся!
     
  2. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    Если ругается сервер или сам пых, то соответственно на их стороне решается (есть соответствующие параметры настройки).
    --- Добавлено ---
    А нельзя сначала отдельно создать атрибуты, а потом при добавлении товара их просто выбирать? Или вы это и имели в виду под созданием?
     
  3. Vaska

    Vaska Активный пользователь

    С нами с:
    7 ноя 2019
    Сообщения:
    43
    Симпатии:
    3
    В том то и дело, что никакие ошибки не показывает PHP.
    Как вот проверить что именно мешает записи в базу более 55 строк?
    При нажатии кнопки сабмит - просто ничего не происходит, если 56 атрибутов выбрано.
    А если 55 атрибутов выбрано, то довольно быстро записывает строки в базу и PHP отдает сообщение, что операция сохранения данных прошла успешно.
    В функции контроллера, которая обрабатывает сабмит - нет никаких ограничений.
    В модели, который использует контроллер - тоже нет ограничений.
    Да, атрибуты создаю заранее, на другой странице.
    А потом, в карточке товара у каждого атрибута ставлю галочку в чекбоксе и выбираю, таким образом, нужный атрибут.
     
    #3 Vaska, 22 окт 2022
    Последнее редактирование: 22 окт 2022
  4. Vaska

    Vaska Активный пользователь

    С нами с:
    7 ноя 2019
    Сообщения:
    43
    Симпатии:
    3
    Сейчас попробовал ещё раз сохранить форму, удалось сохранить при 56 шт. атрибутов, а при 57 шт. уже не сохраняет. А ранее тестировал, удавалось сохранить только при 55 шт..
    Значит не какая-то настройка разрешающая 55 шт. атрибутов участвует в количестве сохранения атрибутов, а видимо запрос слишком большой и его либо PHP либо сервер не обрабатывает.
    Как узнать что именно мешает?
    Какие тесты нужно проводить в таком случае?
     
  5. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Вряд ли что-то прояснится, пока вы не предъявите форму. Это как минимум.
    Причин такого поведения может быть несколько. Начиная с ограничения на длину запроса, лимита памяти и тд
    Если там что-то секретное, то отправьте вашу форму в простой тестовый обработчик. В зависимости от результата это, возможно, сразу отсечет сразу несколько причин. Не связанных с движком.
     
  6. Vaska

    Vaska Активный пользователь

    С нами с:
    7 ноя 2019
    Сообщения:
    43
    Симпатии:
    3
    Не понял этого совета.
    Можете подробнее объяснить, что значит отправить форму в простой тестовый обработчик?
     
  7. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Создайте текстовый документ с расширением php
    Вставьте в него
    Код (Text):
    1.  
    2. <pre>
    3. <?php
    4. print_r($_POST);
    5. ?>
    В атрибуте action вашей формы укажите его адрес
     
    Zlata Jesen и Vaska нравится это.
  8. Vaska

    Vaska Активный пользователь

    С нами с:
    7 ноя 2019
    Сообщения:
    43
    Симпатии:
    3
    Попозже попробую сделать.
     
  9. Vaska

    Vaska Активный пользователь

    С нами с:
    7 ноя 2019
    Сообщения:
    43
    Симпатии:
    3
    Сделал, но ничего не происходит, форма не отправляется, никакие сообщения не выводятся.
    Сама форма отправляется ajax'ом, может из за этого нужно по-другому оформить тест.
     
  10. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Определенно.
    С каждым новым сообщением вы даете все больше информации о проблеме.
    Думаю, странице на пятой этого топика, мы таки разберемся.
     
  11. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    861
    Симпатии:
    132
    @Drunkenmunky, @Vaska вменяемый человек, работал с ним, пропьюсь -- решу проблему, у меня почти весь код тот локально есть (там всё непросто, неплохой китайский фрэймвёк, поверху отвратительный китайский говнокод).
    То, что не смог описать глюк, ну, бывает.
     
  12. Vaska

    Vaska Активный пользователь

    С нами с:
    7 ноя 2019
    Сообщения:
    43
    Симпатии:
    3
    @don.bidon помог найти причину проблемы.
    Спасибо ему и @Drunkenmunky за помощь!
    Проблема решена.
     
    #12 Vaska, 29 окт 2022
    Последнее редактирование: 29 окт 2022