1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Field 'session' doesn't have a default value

Тема в разделе "Основные вопросы по XenForo", создана пользователем ashimano, 12.08.2012.

Загрузка
  1. ashimano

    ashimano Пользователь

    Регистрация:
    12.08.12
    Сообщения:
    5
    Симпатии:
    0
    Версия XF:
    1.1.3
    Помогите пожалуйста. Очень надо. Просто нету времени искать похожей темы. Извиняюсь.
    Безымянный.JPG
    После того как я ввожу все данные, вот такая фишка вылетает. То есть народ не может создать аккаунт. В чём проблема?
     
  2. Pepelac

    Pepelac Продам луц в бутылках

    Регистрация:
    28.09.10
    Сообщения:
    1 794
    Симпатии:
    1 361
    Смотрите логи ошибок
     
  3. ashimano

    ashimano Пользователь

    Регистрация:
    12.08.12
    Сообщения:
    5
    Симпатии:
    0
    Версия XF:
    1.1.3
    Zend_Db_Statement_Mysqli_Exception: Mysqli statement execute error : Field 'session' doesn't have a default value - library/Zend/Db/Statement/Mysqli.php:214
     
  4. Pepelac

    Pepelac Продам луц в бутылках

    Регистрация:
    28.09.10
    Сообщения:
    1 794
    Симпатии:
    1 361
    Полностью всю информацию по ошибке покажите
     
  5. ashimano

    ashimano Пользователь

    Регистрация:
    12.08.12
    Сообщения:
    5
    Симпатии:
    0
    Версия XF:
    1.1.3
    Информация об ошибке

    Трассировка стэка

    Код:
    #0 /var/www/library/Zend/Db/Statement.php(297): Zend_Db_Statement_Mysqli->_execute(Array)
    #1 /var/www/library/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
    #2 /var/www/library/Zend/Db/Adapter/Abstract.php(574): Zend_Db_Adapter_Abstract->query('INSERT INTO `xf...', Array)
    #3 /var/www/library/XenForo/DataWriter.php(1591): Zend_Db_Adapter_Abstract->insert('xf_user', Array)
    #4 /var/www/library/XenForo/DataWriter.php(1580): XenForo_DataWriter->_insert()
    #5 /var/www/library/XenForo/DataWriter.php(1381): XenForo_DataWriter->_save()
    #6 /var/www/library/XenForo/ControllerPublic/Register.php(246): XenForo_DataWriter->save()
    #7 /var/www/library/XenForo/FrontController.php(310): XenForo_ControllerPublic_Register->actionRegister()
    #8 /var/www/library/XenForo/FrontController.php(132): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
    #9 /var/www/index.php(13): XenForo_FrontController->run()
    #10 {main}
    Содержимое запроса

    Код:
    array(3) {
     ["url"] => string(51) "[URL]http://www.rain-mini.ru/index.php?register/register[/URL]"
     ["_GET"] => array(1) {
     ["register/register"] => string(0) ""
     }
     ["_POST"] => array(13) {
     ["username"] => string(5) "Devil"
     
     ["dob_month"] => string(2) "10"
     ["dob_day"] => string(2) "10"
     ["dob_year"] => string(4) "1991"
     ["gender"] => string(4) "male"
     ["timezone"] => string(13) "Europe/Moscow"
     ["recaptcha_challenge_field"] => string(164) "03AHJ_VusMq5x2WThpSVUavwuhE6utH0wjb-IvjOrp-bhvzbUQI2R52Tt8_7JqCnZi9qH6BoAdomK3uVrMBjKt-fum1aJyZheED28xoM62OISG7GsxLmgW93BkN7ha2_dHzNTKPYVwu2dBdF2p_ZC_6DBWxHbFpn9-_w"
     ["recaptcha_response_field"] => string(15) "Asiatic ichynam"
     ["agree"] => string(1) "1"
     ["_xfToken"] => string(0) ""
     }
    }
     
  6. Pepelac

    Pepelac Продам луц в бутылках

    Регистрация:
    28.09.10
    Сообщения:
    1 794
    Симпатии:
    1 361
    У вас при сохранении юзера происходит попытка вставить запись в таблицу xf_user и в итоге все падает, потому что в поле session не передается значение, а значения по умолчанию там нет.

    Вот только откуда вообще взялось поле session в таблице xf_user - это уже не ко мне. В этой таблице не должно быть такого поля вообще.
     
  7. ashimano

    ashimano Пользователь

    Регистрация:
    12.08.12
    Сообщения:
    5
    Симпатии:
    0
    Версия XF:
    1.1.3
    А по проще, что мне надо сделать? Как блондинке объясни пожалуйста -_-.
     
  8. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Если какой-то плагин добавил такое поле, то можно "выкрутиться" из этой ситуации путем редактирования структуры таблицы. Если поле session текстовое, то попробуйте в default value поставить пустую строку, если числовое, то 0. Не панацея, да и не очень хороший совет, но поможет не дожидаться, пока плагин, который это поле добавил, исправят. Кстати, найдите конфликтующий плагин и отпишите автору об этой ошибке.

    Офтоп. Я вот что еще заметил. Нужно разработчикам ксена сделать простую процедуру подчистки в базе остатков при удалении пользователей. Возможно, и контента. Дело в том, что плагины, создающие и эксплуатирующие свои собственные таблицы, связанные с оригинальными (первичными) таблицами по 1-1 или 1-N, в принципе не рассчитаны на удаление пользователей и/или контента. Отлавливать момент удаления первичных данных не всегда удобно и/или просто, что разработчиками плагинов элементарно игнорируется и не предусматривается. Для устранения этой недоработки достаточно сделать какой-нибудь простой класс, в котором хранить взаимосвязи с ключами между первичными таблицами и дополнительными. Соответственно, достаточно будет разработчику плагина добавить свои взаимосвязи, а движок уже самостоятельно удалит связанные данные из дополнительных таблиц, когда будет удаляться запись из первичной таблицы. Это просто суть. Реализация может быть различна. Конечно, это потребует доработки того же library/XenForo/DataWriter.php в процедуре delete. Но оно того стОит. Да и я не знаю, какие данные самим ксеном удаляются в обход этого абстрактного класса. Плагины, конечно же, могут удалять данные, как попало. Так хотя бы сообщали ксену о том, что при удалении записи из первичной таблицы нужно подчистить и дополнительные.
    Если не обращать внимание на удаление первичных данных, то большинство плагинов смогут работать без проблем и дальше, просто игнорируя неактуальные записи. Но это приводит к захламлению базы, хотя и не критично.
    Буду благодарен, если кто-то сможет грамотно сформулировать это на английском и опубликовать на офе.
     
  9. ashimano

    ashimano Пользователь

    Регистрация:
    12.08.12
    Сообщения:
    5
    Симпатии:
    0
    Версия XF:
    1.1.3
    Можно по подробнее, где и что искать :) Просто раньше у меня попроще сайты были.
     
  10. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    в общем считаю что идея даже вредная, т.к. основное и так уже есть, а как для хитрых ситуаций никакого автоудаления не должно быть. Подробнее и продолжение оффтопа здесь
     
  11. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Нужно через тот же phpmyadmin подправить структуру таблицы. Если Вам это не знакомо, то советую обратиться к специалистом, дабы по неосторожности не угробить таблицу или вообще всю базу.
     

Поделиться этой страницей