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

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

Регистрация пользователя через 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 лет 3 месяца
Откуда: Москва

Сообщение Coagulant »

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

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

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

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

Сообщение SeeD »

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

Сообщение Coagulant »

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

Сообщение Lstasss »

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

Сообщение 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 лет 3 месяца

Сообщение SeeD »

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

Сообщение Lstasss »

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

Сообщение 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
Сообщения: 16948
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1701 раз

Сообщение rxu »

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

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