|
|
|
|
|
|
|
|
|
активация по почте проходит, но пользователь не создается
| |
#1 | |
|
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’, и могут ли они содержать пустые значения? Вдруг потом из-за этого возникут проблемы?
|
|
|
|
|
|
|
|
|
|
30.06.2011, 13:40
Ksuha Вы все сделали верно. Причина изначально в том что система разрабатывалась под MySQL 3-4 версии, и в этих версиях данный запрос не вызвал бы ошибку и он прошел бы удачно. А в новой версии трнЫЙД требуются доработки либо запроса, добавив в запрос :
Код:
INSERT INTO nuke_users (user_id, username, user_email, user_password, user_avatar, user_avatar_type, user_regdate, user_lang, bio, ublock) VALUES (NULL, 'Имя', 'Почта', 'e10adc3949ba59abbe56e057f20f883e', 'gallery/blank.gif', '3', 'Jun 29, 2011', 'russian', '', '')
Или же изменив структуру таблицы, что вы и сделали.
|
|
|
|
|
|
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть". |
|
|
|
|
|
|
|
|
|
30.06.2011, 15:47
спасибо! --<-@
PS. Но это же получается значительный глюк! Новичок копаться не будет, бросит. У меня версия 7.6 RUS patched. Возможно, в восьмой Нюке это исправлено.
Последний раз редактировалось Ksuha, 30.06.2011 в 17:08.
|
|
|
|
|
|
|
30.06.2011, 17:20
Ksuha phpnuke в первую очередь для тех, кто желает/хочет научиться программировать на php+mysql, т.к. без знание сего будет трудно сделать себе хороший сайт.
|
|
|
|
|
|
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть". |
|
|
|
|
|
|
|
|
Опции темы |
Поиск в этой теме |
|
|
Опции просмотра |
Линейный вид
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:08.
|
|
|
|
|
|
|
|
|
|
|
|
|