Hallo Support-Team,
ich besitze schon eine Homepage mit einem registrierungsformular und einer loginmaske. Da ich den Benutzern die Arbeit erleichtern will, wollte ich gerne den Benutzer in meiner wie aber auch in der Forendatenbank gleichzeitig anlegen. Sowie beim Login auf der Standardseite, sollte der Benutzer auch auf der Forenseite eingeloggt sein.
Allerdings stehe ich dort vor einem Problem
, könnten Sie mir vielleicht helfen welche Felder ich wie beachten muss in den folgenden Tabelen: _sessions und _users
Danke Ihnen im Voraus
P.s. Habe folgenden link gefunden
https://www.mybb.de/forum/showthread.php?tid=3235, aber damit kann ich leider nichts genau anfangen, da ich nicht die möglichkeit sehe die Benutzer in die Forendatenbank einzubinden
Hallo,
binde einfach in deine Homepage(jede Seite deiner Homepage) die global.php des Forums ein:
PHP-Code:
define("IN_MYBB", 1);
define("NO_ONLINE", 1);,
require_once ("pfad/zum/forum/inc/global.php");
Dann kannst du den Onlinestatus hiermit abfragen:
PHP-Code:
if($mybb->user['uid'] != "0") {
echo "Du bist angemeldet.";
} else {
echo "Du musst dich anmelden.";
}
Deine Seiten müssen dann aber alle als php gespeichert werden.
Aber das weißt du ja wahrscheinlich.
Registrieren würden sich die Benutzer dann auch über die Funktion des MyBB:
Code:
<a href="pfad/zum/forum/member.php?action=register">Registrieren</a>
Das Problem ist, es gibt eine Tabelle welche "_kunden" heißt. In diser befinden sich die Kundendaten. Dort sind auch Passwort, Benutzername, ... des aktuellen "CMS" enthalten, welches weiter bestehen bleiben soll.
Daher würde ich gern den Login über das alte Formular belassen und die fürs Forum benötigten Daten in die Tabelle "_sessions" eintragen. (Das Einragen ist kein Problem, doch nach dem ersen klick im Forum geht die Session verloren
).
Die Anmeldung würde ich auch gerne auf dem alten Formular lassen und eine kopie in die _users ablegen. (Aber dafür kenn ich nicht die bedeutung der einzelnen Felder in der Tabelle _users).
Da das Anmledeformular nicht ein einfaches Formular ist, sondern mit mehreren Projekten verknüpft ist
. (Codebasiert)
mach doch eine if abfrage:
wenn user nicht im mybb, dann teste ob er im cms ist, wenn ja trage ihn auch ins mybb ein ^^
fertitsch
Das hatte ich ja vor
, nur mein Problem daran ist, sobald er dann in Forum geht und einmal klickt, wird in der _sessions userid auf 0 gesetzt und er ist wieder raus aus dem Forum
.
Das andere Problem ist wenn ich bei der Anmeldung folgende Felder nicht fülle("salt", "loginkey"), kann sich der Benutzer nicht anmelden. Nur ich habe leider noch nicht die stelle im Code gefunden welche diese Felder normalerweise befüllt. Daher kenne ich leider auch nicht die "Zusammensetzung" der Felder.
Danke euch aber schon für die bisherige Hilfe!
Eure Community ist echt klasse!
Es reicht nicht aus einen Eintrag in die Tabelle sessions zu schreiben, du musst auch die Cookies bei den Benutzern setzen und den Benutzer in die Tabelle users eintragen.
Die Fehler salt und loginkey sind zufallsgeneriert. Es sollte auch gehen, wenn du den md5-Hash des Passworts in die Spalte password einfügst und salt und loginkey leer lässt. Diese Felder werden dann beim ersten Login des Benutzers ausgefüllt.
Wenn ich die von dir genannten Felder leer lasse werden diese Felder nach dem ersten Login gefüllt! Allerdings habe ich dass Problem, dass auch automatisch das Feld "password" dann abgeändert wird
, damit ist dann da irgend ein Passwort festgelegt, welches ich nicht mehr kenne ^^
Das ist richtig, da der Inhalt des Feldes password der md5-Hash aus Passwort und salt ist.
Michael schrieb:Die Fehler salt und loginkey sind zufallsgeneriert. Es sollte auch gehen, wenn du den md5-Hash des Passworts in die Spalte password einfügst und salt und loginkey leer lässt. Diese Felder werden dann beim ersten Login des Benutzers ausgefüllt.
Michael schrieb:Das ist richtig, da der Inhalt des Feldes password der md5-Hash aus Passwort und salt ist.
Wie kann ich dann einen Benutzer anlegen, bei dem ich das Passwort bestimme?
Bis jetzt habe ich das Feld password mit md5($password) gefüllt, wie müssten denn dann die anderen gefüllt sein?
(stehe irgendwie auf dem Schlauch *sorry*)
Du legst das Passwort als md5-Hash in der Spalte password ab. Bis MyBB 1.0 war es so, dass die Passwörter so gespeichert wurden, erst ab da wurde das neue System eingeführt. Deshalb wird beim Login überprüft, ob salt und loginkey existieren und wenn nicht werden diese generiert. Auch wenn sich der Inhalt der von password ändert, das Passwort bleibt gleich.