Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
huhu
meine php kenntnisse ham sich um einiges erweitert - und nun steh ich vor nem problem.
Also auf meiner neuen Homepage kann man sich einloggen - nach dem einloggen (überprüfen von name und passwort) sieht man dann seinenavatar, den namen und seine emailadresse. enn man jetz aufs forum geht, ist man nicht eingeloggt (was logisch is).
Beim login verwende ich $_SESSION['userid'] und die entspricht die user_id in der phpbb_users. Was verwendet phpbb als $_SESSION ?
Bzw. wie kann ich es so programmieren, dass man im Forum (./forum) auch eingeloggt ist, wenn man sich auf der Homepage (./) einloggt?
Danke :}
Zuletzt geändert von Blacker am 26.11.2006 16:00, insgesamt 1-mal geändert.
Ui hab ich gar nicht gefunden :p
moin mtv bist ja gar nicht icq on
naja, er loggt sich dann aber nur im Forum ein.
Was ich will, dass man dann auch auf der HP eingeloggt wird. Also bisschen php muss auch dabei sein :S
das isses auch nicht.
ich brauch eigentlich nur die Session vars, die phpbb beim einloggen registriert...
Also z.b. beim einloggen aufm forum wird in $_SESSION['phpbb_userid'] die Userid, z.b. "20" übertragen, dann müsste ich eigentlich auf der HP nur diese var abfragen, um das zu bekommen.
Aber welche Var ist das?
phpBB arbeitet nicht mit dem PHP Session Management wie du ($_SESSION) sondern verwendet Cookies oder die Adresszeile. Die Daten zu einer Session werden in der sessions tabelle in der Datenbank gespeichert. Auf welche Art und Weise machst du denn den Login auf deiner HP? Vielleicht wäre es einfacher, den Login des Forums in deinem Homepagebereich zu übernehmen, so wie das beschrieben ist in dem Artikel den MTV-King verlinkt hat.
Der Login im Forum wird in der login.php Datei durchgeführt, die solltest du dir eventuell mal ansehen wenn du dein HP System beibehalten willst wirst du einen Teil des Codes hieraus brauchen.
Wenn du dein System beibehalten willst wird eine ganze Menge parallel laufen müssen, du musst die Forum Session aktuell halten auch auf deiner HP (geht einfach mit Forumsfunktionen), du musst alle Links zum Forum mit der SID des eingeloggten Users versehen (sofern dieser keine Cookies verwendet ist er sonst ausgeloggt).
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Wenn du den Login mit dem Forum verbinden willst solltest du auch den Sicherheitsstandard des Forums beibehalten - eine HP ist immer nur so sicher wie ihr schwächstes Glied.
Ich werde jetzt nicht den Code aus der login.php editieren und posten.
Ich denke so wie du das da gemacht hast könnte man das auch einfach mit der Methode aus der KB machen:
Du verwendest den Login des Forums und leitest sofort wieder auf deine Homepage weiter (am besten eine spezielle Seite für den Login damit die Seite nicht ausgebremst wird).
Auf der Homepage fragst du zunächst ab ob in $_SESSION schon die Logindaten vorhanden sind.
Ist das der Fall ist der User anscheindend schon eingeloggt gewesen als er die Seite betreten hat, es geht weiter wie bisher
Wenn nicht werden die Standardfunktionen von PHPBB verwendet um an die Logininformationen zu kommen, dann wird abgefragt ob der User eingeloggt ist ($userdata['session_logged_in']) und nicht der anonyme User ist ($userdata['user_id'] == ANONYMOUS oder -1)
Falls er nicht eingeloggt ist dann zum Login auffordern/weiterleiten
Falls doch dann die Logindaten von $userdata in $_SESSION übertragen.
Nicht vergessen an alle Links zum Forum die SID anzuhängen (z.B. mit append_sid())
Auf jeden Fall solltest du diese Stelle in deinem Skript verbessern um SQL Injection zu verhindern:
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.