Регистрация пользователя через sql

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
SeeD
phpBB 1.0.0
Сообщения: 4
Стаж: 19 лет 7 месяцев

Регистрация пользователя через sql

Сообщение SeeD »

Доброго времени суток!
Версия форума phpBB 2.0.20.
Мне необходимо сделать так, чтобы регистрация на форуме происходила с другого сервера.
Первое, что пришло в голову, это сделать простенькую форму, с логином, емайлом, паролем ( и его проверкой). В итоге, делаю sql-запрос такого вида :

Код: Выделить всё

INSERT INTO phpbb_users (user_id, username, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_sig_bbcode_uid, user_avatar, user_avatar_type, user_viewemail, user_aim, user_yim, user_msnm, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_viewonline, user_notify, user_notify_pm, user_popup_pm, user_timezone, user_dateformat, user_lang, user_style, user_level, user_allow_pm, user_active, user_actkey) VALUES ('','seed', NOW(), '123','asd@asd.ru','','','','','','','','','','','','','','','','','','','','','','','','','',0,1);
А пхпадмин ругается, что такой таблицы не сущесвует (phpbb_users).
Сам Insert взял из usercp_register.php. Если я не ошибаюсь, то это сам запрос :

Код: Выделить всё

INSERT INTO " . USERS_TABLE . "	(user_id, username, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_sig_bbcode_uid, user_avatar, user_avatar_type, user_viewemail, user_aim, user_yim, user_msnm, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_viewonline, user_notify, user_notify_pm, user_popup_pm, user_timezone, user_dateformat, user_lang, user_style, user_level, user_allow_pm, user_active, user_actkey) VALUES ($user_id, '" . str_replace("\'", "''", $username) . "', " . time() . ", '" . str_replace("\'", ''", $new_password) . "', '" . str_replace("\'", "''", $email) . "', '" . str_replace("\'", "''", $icq) . "', '" . str_replace("\'", "''", $website) . "', '" . str_replace("\'", "''", $occupation) . "', '" . str_replace("\'", "''", $location) . ',
'" . str_replace("\'", "''", $interests) . "', '" . str_replace("\'", "''", signature) . "', '$signature_bbcode_uid', $avatar_sql,  $viewemail, '" . str_replace("\'", "''",  str_replace(' ', '+', $aim)) . "',  '" . str_replace("\'", ''", $yim) . "',  '" . str_replace("\'", "''", $msn) . "',   $attachsig,    $allowsmilies, $allowhtml,	 $allowbbcode,  $allowviewonline,	  $notifyreply,   $notifypm,    $popup_pm,	    $user_timezone, '" . str_replace("\'", "''", $user_dateformat) . "',		 '" . str_replace("\'", "''", $user_lang) . "' , $user_style	 , 0, 1, ";
Тот ли я запрос взял? И почему не существует такой таблицы, не подскажите?
Поиском пользовался, правда.
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 20 лет 8 месяцев
Откуда: Москва

Сообщение Coagulant »

SeeD писал(а):А пхпадмин ругается, что такой таблицы не сущесвует (phpbb_users).
Ну так вы откройте пхпадмином вашу базу данных и поглядите, как назвается ваша таблица (префикс, очевидно, другой, не phpbb_)

Запрос у вас составлен неправильно. Колонок больше чем значений для вставки. Ну и userid=0 это как, нормально?

Ещё юзера надо в группу поместить, ага.

Может есть готовая функция вставки юзера, не знаю.
Что-то похожее есть в моде Грэхма Import Tools
SeeD
phpBB 1.0.0
Сообщения: 4
Стаж: 19 лет 7 месяцев

Сообщение SeeD »

В том-то и дело, что таблица именно так и называется. Могу дать скриншот :)
А разве used_id не AUTO_INCREMENT ? сам не заполняется ? Спасибо за мод. Сейчас гляну!
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 20 лет 8 месяцев
Откуда: Москва

Сообщение Coagulant »

SeeD писал(а):В том-то и дело, что таблица именно так и называется. Могу дать скриншот
Может тогда запрос не для той базы данных?
SeeD писал(а):А разве used_id не AUTO_INCREMENT ? сам не заполняется ?
С чего это вы взяли?
Lstasss
phpBB 1.4.4
Сообщения: 166
Стаж: 18 лет 11 месяцев
Откуда: Варшава (Польша) / Кишинёв (Молдова)

Сообщение Lstasss »

не AUTO_INCREMENT. Но для AUTO_INCREMENT нельзя подставлять 0, там надо прочто параметр не указывать. Но надо сначала устранить первую ошибку, добавлять в ТУ таблицу, в которую надо. И ждать дальнейшей ругани сервера MySQL.
обожаю строку "EoM" :D
http://nepopsisty.net/forum.php - форум НЕпопсистов :twisted:
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17030
Стаж: 19 лет 3 месяца
Откуда: Красноярск
Благодарил (а): 563 раза
Поблагодарили: 1727 раз

Сообщение rxu »

SeeD
Просто на всякий случай, для информации
[Function] insert_user()
This is a MOD Tool which is designed to provide an interface which can be used in MOD scripts and for website integration to allow the simple registration of users within your phpBB forum.
Изображение
SeeD
phpBB 1.0.0
Сообщения: 4
Стаж: 19 лет 7 месяцев

Сообщение SeeD »

Никак не пойму , где вы увидели, что вставляю userid=0 ? Я оставляю userid пустую (''), елси стоит AUTO_INCREMENT , то значения userid само увеличивается на +1, относительно последнего. я так понимаю, что это все-таки AUTO_INCREMENT. По крайней мере, в phpbb_group.
Скажите одну вещь. При регистрации, заполняются какие таблицы? phpbb_users , phpbb_groups? и все? или еще какие-то?
Lstasss
phpBB 1.4.4
Сообщения: 166
Стаж: 18 лет 11 месяцев
Откуда: Варшава (Польша) / Кишинёв (Молдова)

Сообщение Lstasss »

SeeD, я специально для вас посмотрел таблицу. Там НЕТУ AUTO_INCREMENT. Поэтому при вставлении сначала запросите таблицу, какой там последний user_id, увеличьте и вставляйте. но СНАЧАЛА таблица долдна увидеть запрос! Устраните ошибку более высокого уровня.
обожаю строку "EoM" :D
http://nepopsisty.net/forum.php - форум НЕпопсистов :twisted:
SeeD
phpBB 1.0.0
Сообщения: 4
Стаж: 19 лет 7 месяцев

Сообщение SeeD »

Через пхпадмина выполнил след. запрос :

Код: Выделить всё

insert into phpbb_groups (`group_id`, `group_type`, `group_name`, `group_description`, `group_moderator`, `group_single_user`) VALUES ('',1,'','Personal User',0,1)
Т.е. как вы можете наблюдать, `group_id`я оставил пустой. Увеличилось на 1. Возможно это не AUTO_INCREMENT, но при пустом значении оно увеличивается.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17030
Стаж: 19 лет 3 месяца
Откуда: Красноярск
Благодарил (а): 563 раза
Поблагодарили: 1727 раз

Сообщение rxu »

SeeD
Ещё раз: user_id самостоятельно не увеличивается. Сначала делаете запрос, чтобы узнать максимальный ID, потом прибавляете к нему 1 и делаете апдейт поля.
Изображение

Вернуться в «Поддержка phpBB 2.0.x»