phpBB naar een andere database.

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
Carla
Berichten: 5
Lid geworden op: 19 sep 2006, 14:26

phpBB naar een andere database.

Bericht door Carla » 19 sep 2006, 14:33

Ik zou graag een bestaand phpBB forum onderbrengen onder een bestaand registratie- en inlogsysteem met zijn eigen database. Hoe doe ik dit?
Ik weet dat ik in config.php de database gegevens kan aanpassen, maar hoe doe ik de rest? Waar kan ik aangeven dat hij voor het inloggen in andere tabelnamen moet kijken? En dat bij registratie naar mijn registratiesysteem wordt verwezen?
Weet iemand hoe ik dit kan doen?

In uiterste nood wil ik ook nog wel een nieuw forum onder het bestaand registratie- en inlogsysteem plaatsen, maar ook dat wil mij niet lukken. Ik ben een redelijke leek op dit gebied, maar wil graag leren ;)

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 19 sep 2006, 14:41

Gelukkig is phpBB wel handig gebouwd, als je kijkt in includes/constants.php staan daar alle tabellen gedefineerd.

De sessie tabellen zijn

Code: Selecteer alles

define('SESSIONS_TABLE', $table_prefix.'sessions');
define('SESSIONS_KEYS_TABLE', $table_prefix.'sessions_keys');
$table_prefix staat in config.php, meestal is dit phpbb_.

Dan moet je denk ik ook de gebruikerstabel hebben, deze is

Code: Selecteer alles

define('USERS_TABLE', $table_prefix.'users');
Het is denk ik wel handig als je dezelfde velden in de tabellen gebruikt, anders moet je heel veel aan gaan passen, dat is bijna niet te doen.
Afbeelding

Carla
Berichten: 5
Lid geworden op: 19 sep 2006, 14:26

Bericht door Carla » 19 sep 2006, 14:47

Bedankt voor de enorm snelle reactie :D

Het probleem is een beetje dat ik inderdaad alle tabellen moet aanpassen omdat het registratiesysteem al een tijdje bestaat en duizenden geregistreerden heeft en ik ook niet heb gemaakt. Is een redelijk complex systeem waar ik liever niet aan ga knutselen.

Maar dit wil dus zeggen dat ik de tabellen moet aanpassen naar de namen van de tabellen van het huidig systeem? En natuurlijk in config de database gegevens aan moet passen.

Maar hoe voorkom ik dat ze via het forum nog kunnen registreren? of is dit niet te voorkomen? Je zit natuurlijk met alle overige gegevens van de gebruiker, die niet in mijn huidige database staan?

Carla
Berichten: 5
Lid geworden op: 19 sep 2006, 14:26

Bericht door Carla » 19 sep 2006, 14:51

Wellicht een stomme vraag, dus vergeef me bij voorbaat :)

Maar het is zeker niet mogelijk om alleen de inlog en registratiegegevens uit mijn database te halen en een tweede database te hanteren voor de overige gegevens? Zodat ik deze niet hoef te verwerken in mijn huidige database?

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 19 sep 2006, 14:56

Ik denk dat je beter de registratie functie uit phpBB kunt slopen, en dan bij het registreren op je website je automatisch laten registreren op phpBB.

Je moet dan ook je profiel niet aan kunnen passen via phpBB, alles gaat via je website. Je moet dan de gebruikerstabel die je nu hebt aanpassen aan die van phpBB, de extra velden toevoegen. De dubbele, zoals de naam, emailadres en wachtwoord (misschien nog meer), voeg je niet aan te passen.
Als je 1 tabel hebt waar beide scripten gebruik van kunnen maken, kun je ze gaan delen.
Je kan dan via een script dat controleert of iemands emailadres/gebruikersnaam al bestaat in je website's tabel, de rest van de phpBB gebruikers in je website's gebruikerstabel zetten.
Afbeelding

Carla
Berichten: 5
Lid geworden op: 19 sep 2006, 14:26

Bericht door Carla » 19 sep 2006, 14:58

jaaaa dat klinkt al heel erg goed!

Uhm maarre hoe doe ik dat? Als je me zegt waar ik naar en waar ik zoeken moet, kan ik een heel eind komen?
In ieder geval bedankt voor de goede hulp!

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 19 sep 2006, 14:58

Carla schreef:Wellicht een stomme vraag, dus vergeef me bij voorbaat :)

Maar het is zeker niet mogelijk om alleen de inlog en registratiegegevens uit mijn database te halen en een tweede database te hanteren voor de overige gegevens? Zodat ik deze niet hoef te verwerken in mijn huidige database?
Nee je kan niet (kan wel maar lastig) 2 tabellen gebruiken waar de gebruikersgegevens in staan.
Afbeelding

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 19 sep 2006, 14:59

Carla schreef:jaaaa dat klinkt al heel erg goed!

Uhm maarre hoe doe ik dat? Als je me zegt waar ik naar en waar ik zoeken moet, kan ik een heel eind komen?
In ieder geval bedankt voor de goede hulp!
Zo'n script bestaat vast en zeker niet, je zal het dus zelf (met hulp) moeten maken :bier:
Afbeelding

Carla
Berichten: 5
Lid geworden op: 19 sep 2006, 14:26

Bericht door Carla » 19 sep 2006, 15:48

Haha rrright, oke dan, daar moet ik dus eens in gaan duiken.
Maar kan jij me wel al vertellen hoe ik de overige onderdelen er uit kan 'slopen'?

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 19 sep 2006, 16:03

De links kun je weghalen in templates/xxx/overall_header.tpl.

Code: Selecteer alles

						<!-- BEGIN switch_user_logged_out -->
						&nbsp;<a href="{U_REGISTER}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_register.gif" width="12" height="13" border="0" alt="{L_REGISTER}" hspace="3" />{L_REGISTER}</a>&nbsp;
						<!-- END switch_user_logged_out -->
moet weg en

Code: Selecteer alles

&nbsp;<a href="{U_PROFILE}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_profile.gif" width="12" height="13" border="0" alt="{L_PROFILE}" hspace="3" />{L_PROFILE}</a>&nbsp; 
Verder moet je dan nog in profile.php

Code: Selecteer alles

	else if ( $mode == 'editprofile' || $mode == 'register' )
	{
		if ( !$userdata['session_logged_in'] && $mode == 'editprofile' )
		{
			redirect(append_sid("login.$phpEx?redirect=profile.$phpEx&mode=editprofile", true));
		}

		include($phpbb_root_path . 'includes/usercp_register.'.$phpEx);
		exit;
	}
verwijderen :wink:
Afbeelding

Gesloten