Datenbanken vernetzen
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Datenbanken vernetzen
Hallo,
mein Freund und ich machen ein kleines Projekt und ich will jetzt das Forum dazu einrichten. Mein Freund hat jetzt schon eine Datenbank angelegt, an der sich auch schon ein paar user angemeldet haben.
Also würde ich gern diese Datenbanken synchronisieren, sodass alle User die sich bei ihm angemeldet haben automatisch einen account beim Forum bekommen.
ich hab jetzt die Tabelle gefunden, bei der die User unter phpBB gespeichert werden, bei mir heißt sie "phpbb_users". Die meißten spalten erklären sich von selbst aber ein Problem ist, dass die Userpasswörter ja schon verschlüsselt in der phpBB_users Tabelle gespeichert werden müssen. Dazu habe ich zwar schon in der function.php ein wenig gesucht und das Forum durchstöbert, aber bis jetzt noch nichts wirklich zum laufen gebracht!
Daher bräucht ich etwas Hilfe. Wie genau kann ich das machen?
(und hat mit der Verschlüsselung die Spalte "user_form_salt" in der "phpbb_users"-tabelle was zu tun?)
Danke für euere Antworten!!
MFG
Anti
mein Freund und ich machen ein kleines Projekt und ich will jetzt das Forum dazu einrichten. Mein Freund hat jetzt schon eine Datenbank angelegt, an der sich auch schon ein paar user angemeldet haben.
Also würde ich gern diese Datenbanken synchronisieren, sodass alle User die sich bei ihm angemeldet haben automatisch einen account beim Forum bekommen.
ich hab jetzt die Tabelle gefunden, bei der die User unter phpBB gespeichert werden, bei mir heißt sie "phpbb_users". Die meißten spalten erklären sich von selbst aber ein Problem ist, dass die Userpasswörter ja schon verschlüsselt in der phpBB_users Tabelle gespeichert werden müssen. Dazu habe ich zwar schon in der function.php ein wenig gesucht und das Forum durchstöbert, aber bis jetzt noch nichts wirklich zum laufen gebracht!
Daher bräucht ich etwas Hilfe. Wie genau kann ich das machen?
(und hat mit der Verschlüsselung die Spalte "user_form_salt" in der "phpbb_users"-tabelle was zu tun?)
Danke für euere Antworten!!
MFG
Anti
Re: Datenbanken vernetzen
Hallo Pyramide,
danke für deine schnelle antwort!
Ich bin immoment noch ein php anfänger und habe deshalb auch nicht wirklich verstanden wie genau ich sowas jetzt mache, trotz der "Anleitung" in Form des Links^^-
Ich habe jetzt aber mit hilfe deines Links schon mal herausgefunden, dass es in der "./includes/functions_user.php" eine function namens "user_add" gibt.
Für den anfang würde ich gerne eine php-seite programmieren, die ich (ohne ACP usw. auszuführen) öffnen kann und die dann mithilfe dieser function ein paar user added.
Über die Sicherheit von sowas lässt sich zwar streiten, aber für mich wäre es wichtig erstmal das hinzukriegen^^
(weil die "./includes/functions_user.php" einfach zu includen und die methode mit richtigen parametern ausführen geht ja nich ohne weiteres)
Danke für euere Hilfe!
MfG
Anti
danke für deine schnelle antwort!
Ich bin immoment noch ein php anfänger und habe deshalb auch nicht wirklich verstanden wie genau ich sowas jetzt mache, trotz der "Anleitung" in Form des Links^^-
Ich habe jetzt aber mit hilfe deines Links schon mal herausgefunden, dass es in der "./includes/functions_user.php" eine function namens "user_add" gibt.
Für den anfang würde ich gerne eine php-seite programmieren, die ich (ohne ACP usw. auszuführen) öffnen kann und die dann mithilfe dieser function ein paar user added.
Über die Sicherheit von sowas lässt sich zwar streiten, aber für mich wäre es wichtig erstmal das hinzukriegen^^
(weil die "./includes/functions_user.php" einfach zu includen und die methode mit richtigen parametern ausführen geht ja nich ohne weiteres)
Danke für euere Hilfe!
MfG
Anti
Re: Datenbanken vernetzen
Der Nachteil bei der Nutzung von user_add ist halt, dass die Accounts hinterher getrennt sind, also z.B. eine Passwortänderung im einem System sich nicht aufs andere auswirkt.
KB:knigge
Re: Datenbanken vernetzen
Das ist richtig,
jedoch kommt bei mir das Problem hinzu, dass die Datenbanken eh nicht die gleiche verschlüsselung für die Passwörter haben und somit eine direkte ventzung vorerst nicht möglich ist.
Außerdem glaube ich, dass ich auf diese weise das alles besser versteh und dass es fürs erste reicht, bis ich so ein authentification plugin geschrieben/verstanden habe.
Deshalb wäre es vorerst mal gut, überhaupt zu verstehen wie ich diese functionen (wie z.B. user_add) in meine php-seiten einbinden/benutzen kann.
Damit kann man wie schon gesagt die Datenbanken nur indirekt vernetzen, der nächste schritt wäre dann so ein plugin.
Gruß
jedoch kommt bei mir das Problem hinzu, dass die Datenbanken eh nicht die gleiche verschlüsselung für die Passwörter haben und somit eine direkte ventzung vorerst nicht möglich ist.
Außerdem glaube ich, dass ich auf diese weise das alles besser versteh und dass es fürs erste reicht, bis ich so ein authentification plugin geschrieben/verstanden habe.
Deshalb wäre es vorerst mal gut, überhaupt zu verstehen wie ich diese functionen (wie z.B. user_add) in meine php-seiten einbinden/benutzen kann.
Damit kann man wie schon gesagt die Datenbanken nur indirekt vernetzen, der nächste schritt wäre dann so ein plugin.
Gruß

- Frank1604
- Ehemaliges Teammitglied
- Beiträge: 2106
- Registriert: 07.11.2007 09:25
- Wohnort: Einhausen
- Kontaktdaten:
Re: Datenbanken vernetzen
Wenn du ein Authentication Plugin erstellst, ist es nicht mehr nötig die user_add() auszuführen. Gibt die Login Funktion im Authentication Plugin den Status "LOGIN_SUCCESS_CREATE_PROFILE" zurück, wird der User automatisch im Board angelegt.Anti hat geschrieben:Deshalb wäre es vorerst mal gut, überhaupt zu verstehen wie ich diese functionen (wie z.B. user_add) in meine php-seiten einbinden/benutzen kann.
Damit kann man wie schon gesagt die Datenbanken nur indirekt vernetzen, der nächste schritt wäre dann so ein plugin.
Schau dir doch mal die /includes/auth/auth_db.php an, da siehst du wie ein Authentication Plugin funktioniert. So schwer ist es nicht

Gruß, Frank
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
Re: Datenbanken vernetzen
Danke das hat mir geholfen! Also ich denke ich schaffe es dann mit ein wenig einlese arbeit, auch ohne hilfe so ein plugin zu erstellen.Frank1604 hat geschrieben: Schau dir doch mal die /includes/auth/auth_db.php an, da siehst du wie ein Authentication Plugin funktioniert. So schwer ist es nicht![]()
Ich schreibe erst jetzt wieder weil ich in der letzten Zeit viel um die Ohren hatte (Fahrprüfung, Ferienjob, usw...)^^.
In der zwischen Zeit habe ich auch mit meinem Kumpel unterhalten und so wie es Aussieht werden die schon genannten Probleme...
-andere Verschlüsselung der Passwörter
-nahezu komplett anderes "Speicherformat" der User
und zusätzlich:
-Serverdatenbank ist nur über direkten Dateizugriff möglich (d.h. nur Anwendungen, die direkt auf dem Server laufen haben Zugriff auf die Datenbank)
...auf absehbare Zeit nicht gelöst werden, was eine direkte Vernetzung der Datenbanken vorerst unmöglich macht und nur noch die alternative mit 2 getrennten Datenbanken, die in bestimmten abständen aktualisiert werden, übrig bleibt. (womit wir wieder am Anfang wären...)
Daher hätte ich gern eine simple Erklärung wie ich die "user_add" Funktion in eine selbst geschriebene php seite einbinden kann (ohne ACP und sonstiges) und damit dann "manuell" User hinzufügen.
Dabei nehme ich in kauf, dass alle Änderungen in einer Datenbank sich nicht direkt auf die andere auswirkt (dass diese eben getrennt sind...)
Danke für euere Hilfe!
MfG
Anti

Re: Datenbanken vernetzen
Hey, hab das "Problem" gelöst.
Ich kann jetzt ohne probleme auf functionen in functions_user.php zugreifen.
und dabei war der Fehler den ich gemacht hab total blöd^^
und zwar hab ich folgendes in der function_user.php übersehen:
jetzt hab ich folgendes in mein script hinzugefügt und siehe da es geht^^
Was so eine Zeile code für Probleme bereiten kann^^
Hier das volständige script:
Ich kann jetzt ohne probleme auf functionen in functions_user.php zugreifen.
und dabei war der Fehler den ich gemacht hab total blöd^^
und zwar hab ich folgendes in der function_user.php übersehen:
Code: Alles auswählen
if (!defined('IN_PHPBB'))
{
exit;
}
Code: Alles auswählen
define('IN_PHPBB', true);
Hier das volständige script:
Code: Alles auswählen
define('IN_PHPBB', true);
$phpbb_root_path = '';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.php');
include($phpbb_root_path . 'includes/functions_user.php');
include($phpbb_root_path . 'includes/ucp/ucp_register.php');
$user = array();
$user['username']= $username;
$user['user_password']= phpbb_hash($password);
$user['user_email']= $email;
$user['user_type']= 0;
$user['group_id']= 2;
echo user_add($user);