|
29.06.2011, 18:04
Нужна активация по почте, но возникает следующая проблема. Нюка работает на сервере MySQl в локальной сети. Работает локальная почта. Процесс регистрации пользователя проходит нормально. На почту приходит письмо с активацией. При переходе по этой ссылке Нюка пишет, что «Ваш аккаунт успешно активизирован, пожалуйста, для входа на сайт под своим именем нажмите здесь и введите свой логин и пароль».
Далее, при попытке ввести свой логин и пароль, Нюка пишет: «Неправильный логин! Попробуйте еще...»
Данная тема уже была на форуме а-ля почта , но ответа там так и не дали.
Я проверила, куда добавляются данные при регистрации и активации. При регистрации запись о новом пользователе появляется в таблице nuke_users_temp. Затем, по логике модуля Your_Account и функции activate в нём, при активации запись о пользователе должна переноситься в таблицу nuke_users. Но этого не происходит: запись о новом пользователе удаляется из таблицы nuke_users_temp, но в таблицу nuke_users не добавляется. Я выудили запрос на вставку в таблицу nuke_users из скрипта index.php модуля Your_Account. Он выглядит так:
INSERT INTO nuke_users (user_id, username, user_email, user_password, user_avatar, user_avatar_type, user_regdate, user_lang) VALUES (NULL, 'Имя', 'Почта', 'e10adc3949ba59abbe56e057f20f883e', 'gallery/blank.gif', '3', 'Jun 29, 2011', 'russian'),
где ‘Имя’ и ‘Почта’ заменены на реальные данные.
При выполнении данного запроса в PhpMyadmin вылетает следующая ошибка:
Ошибка
#1364 - Field 'bio' doesn't have a default value
Я посмотрела описании данного поля при создании таблицы:
`bio` tinytext NOT NULL.
Т.е., поле не должно иметь пустого значения, но значение по умолчанию не указано. Если посмотреть на исполняемый запрос, то видно, что в поле ‘bio’ никакого значения не добавляется, но т.к. оно не может быть нулевым, то и возникает данная ошибка. Аналогично с полем `ublock`:
`ublock` tinytext NOT NULL.
Я попыталась задать значение по умолчанию по данным полям, но как оказалось, они не могу иметь такого значения в синтаксисе MySQL. Выдаётся ошибка:
#1101 - BLOB/TEXT column 'bio' can't have a default value
Тогда я переопределила данные поля без ограничения NOT NULL, и всё сработало. Но я думаю, что не может же так быть, что скрипт и поля определены неверно? Ведь это всё продумывалось. И что это за адовы поля такие ‘bio’ и ‘ublock’, и могут ли они содержать пустые значения? Вдруг потом из-за этого возникут проблемы?
|
|