база данных vBulletin

Как дела.

Я ищу информацию о том, как связать базу данных пользователей vBulletin с моей фактической базой данных веб-сайта. У меня уже есть таблица пользователей, у пользователей есть профили основного веб-сайта и все такое, но я также хотел бы, чтобы они могли использовать ту же учетную запись на форуме (форум еще не создан)

Так это довольно просто сделать? Я просто спрашиваю, потому что понятия не имею и не знаю, с чего начать!

Любая помощь могла бы быть полезна!


person Alex Cane    schedule 22.10.2010    source источник
comment
Вам понадобится что-то, что будет выступать в качестве посредника между базой данных вашего веб-сайта и базой данных вашего форума. Сопоставление пользователей по имени пользователя, электронной почте и т. д.   -  person drudge    schedule 23.10.2010
comment
Возможно, было бы проще просто использовать их профиль на форуме для всего сайта. Это должно быть только вопрос размещения правильных вызовов include() в заголовке вашего основного сайта и использования методов vBulletin для получения/отображения информации.   -  person drudge    schedule 23.10.2010
comment
поэтому мне не нужно было бы на самом деле объединять базы данных, а просто читать их обе?   -  person Alex Cane    schedule 23.10.2010
comment
Было бы безопаснее читать с обоих. Объединение может вызвать некоторые проблемы из-за дополнительных полей.   -  person drudge    schedule 23.10.2010


Ответы (1)


если вы не хотите серьезно редактировать код vbulletin, я предлагаю использовать таблицу пользователей vbulletin для всего. если вы сделали основной сайт самостоятельно, вам будет намного проще редактировать его, чем редактировать vb.

просто подключитесь к базе данных, как обычно. затем используйте mysql для проверки их имени пользователя/пароля следующим образом:

SELECT * FROM `usertable` WHERE `username` = '$username' AND `password` = MD5(CONCAT(MD5('$password'),salt)) LIMIT 1

если вам нужно включить дополнительные данные для вашего основного сайта, будьте осторожны, просто добавляя строки в пользовательскую таблицу, так как vbulletin это не нравится. несколько способов обойти это

  1. сделайте плагин vb для хука «userdata_start» с помощью этого кода:

    $this->validfields['custom_usertable_row'] = array(TYPE_INT, REQ_YES);
    

    измените TYPE_INT, если вы не сохраняете целое число. и REQ_YES, если строка может быть нулевой.

  2. добавить настраиваемые поля профиля пользователя. из Поля профиля пользователя admincp> Добавить поле профиля пользователя

    он добавит поле в другую таблицу с именем userfield, которую вы можете получить, объединив таблицы в запросе.

    SELECT user.username, userfield.field1 FROM user LEFT JOIN userfield ON user.userid=userfield.userid
    
  3. создайте свой собственный стол и присоединяйтесь, как указано выше.

person mitchelltrout    schedule 19.12.2012