Ошибка в БД. При регистрации покупателя в магазине Исправлено

4

Уважаемые эксперты, разработчики и пользователи.

9-10 числа мне перенесли сайт со старой версии на новую. И заметили, что посетители сайта жалуются на ошибки которые у них возникали при регистрации или оформлении заказа. Примерно от 3 до 7 обращений в день( и это те кто позвонил).

Сколько не пытался воспроизвести их действия у меня ничего не выходило т.е. все работало аки часики :)

Одного покупателе попросили сделать скриншот

Обратился за помощью к хостингу т.к. думал что это из-за ошибки подключения к бд (ранее делал запрос об ошибке 1045. Как удалось выяснить это из-за старого кеша гугла). После разбора логов и научного метода тыка им удалось выяснить кое-что.

Далее дословно из переписки с тех поддержкой хостинга:

"Похоже я установил причину ошибки при регистрации - мне удалось ее воспроизвести http://prntscr.com/a5e6e2
При регистрации, у Вас заносятся данные в таблицу wa_contact_data, для каждой новой регистрации создается новый contact_id, за которым закрепляется типов в колонке "field" и значения для них. Ошибка возникает при добавлении значения (колонка "value") для типа "referer" в колонке "field". В возникает эта ошибка, потому что длина данных заносимой в колонку "value" превышает тип данных. Проще говоря - происходит попытка внести в колонку данных больше, чем она может содержать. Тип колонки определяется в структуре таблицы, вот это видно через phpmyadmin http://prntscr.com/a5u95x - сейчас для колонки "value" установлен тип VARCHAR(255) - это значит, что в колонку для одной записи нельзя внести больше чем 255 символов. Если Вы обратите внимание на ошибку, то значение, которое пытается занести скрипт в базу данных явно длиннее 255 символов http://prntscr.com/a5ece9
Для решения проблемы, нужно изменить тип данных для колонки "value" в таблице wa_contact_data - передайте программисту эту информацию.

Ошибка возникает скорее всего у тех, кто переходит на сайту из поиска - поскольку в этом случае значение refferer очень длинное, как мы видим."

Ошибку эту исправил по рекомендациям поддержки. Пока полет нормальный.

Проверьте это у себя если есть возможность.

Возможно вы теряете своих покупателей.

8 комментариев

  • +1

    Нужно исправлять это на уровне ядра фреймворка. Т.е. разработчикам Вебасист.
    Увеличивать длинну поля в таблице и добавлять проверку длинны перед записью.
    Пусть лучше не запишется, чем заказ не оформится.

  • +1
    Алексей Алексей 24 февраля 2016 03:52 #

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

    Мы увеличили значение VARCHAR с 255 на 2048. Проблема, ушла но поддержка webasyst сказали, что это может на что-то повлиять.

    Проверьте на своих сайтах.

    Я уверен, что поддержка webasysta это исправит. Но как временно решение можно использовать то, что было описано выше т.е. изменить в таблице wa_contact_data параметр колонки value с VARCHAR(255) на VARCHAR(2048).

  • +1

    Возможно, что это была просто дежурная фраза для снятия ответственности, вроде: "Решение не тестировалось, мы не гарантируем его корректную работу."?

  • +1
    Алексей Алексей 24 февраля 2016 04:21 #

    Возможно. У нас пока работает и дополнительных проблем пока не появилось.

    Как бы проверить это еще на других сайтах? Может есть возможность у кого-нибудь это у себя проверить?

  • +1
    s160220-627 s160220-627 31 января 2017 23:41 #

    Похоже что у меня та же проблема при регистрации..

    где искать эту самую таблицу wa_contact_data

    и параметр колонки value с VARCHAR(255) на VARCHAR(2048)???



  • +1

    В общем проще изменить тип колонки на TEXT! Не совсем оптимальный вариант для поисковых запросов при большом количестве данных, но самый простой выход из многих подобных ситуаций!

  • +1
    s160220-627 s160220-627 31 января 2017 23:55 #

    Где и что менять? сайт steklooboi.com тема supreme

    из корзины не проходит регистрация покупателя, при всех заполненных полях..
    далее не "нажимается"

  • +1
    Алексей Алексей 1 февраля 2017 00:00 #

    Добрый вечер.

    Это делается через пхп майадмин.

    Там есть таблица которую я указал выше и парметр в этой таблице который необходимо изменить.

    Добавить комментарий

    Чтобы добавить комментарий, зарегистрируйтесь или войдите