Hallo,
wie kann ich eine Session-Variable bei phpBB speichern, sodaß sie bei Reloads erhalten bleibt? Normalerweise kann man doch in PHP-Skripten einfach auf $_SESSION zugreifen und das Array wird beim nächsten Seitenaufruf wiederhergestellt, oder?
Ich habe bemerkt, daß phpBB in includes/session.php eigenen Code zur Verwaltung der Sessions hat, aber ich schaffe es nicht, daß es meine eigenen Variablen speichert.
Wie kann ich das erreichen? Und kann mir jemand erklären, warum phpBB die Session-Daten in der Datenbank abspeichert?
Danke im voraus.
Gruß,
dum
Session-Variable speichern
- S2B
- Ehemaliges Teammitglied
- Beiträge: 3258
- Registriert: 10.08.2004 22:48
- Wohnort: Aachen
- Kontaktdaten:
Neues Feld in die Benutzer-Tabelle: MOD:modify_profile.
phpBB verwendet für die Sessions die Datenbank, um einfach alle aktiven Sessions auslesen zu können ("Wer ist online?"). Außerdem stehen so auch wirklich alle Daten in der Datenbank und können in ihr miteinander logisch verbunden werden (z.B. phpbb_users und phpbb_sessions). Durch die Tabelle wird auch das Auslesen von fremden Session-IDs verhindert, das mit einem dateibasierten System und einem schlecht konfiguriertem Server/Webspace kein Problem darstellen würde.
phpBB verwendet für die Sessions die Datenbank, um einfach alle aktiven Sessions auslesen zu können ("Wer ist online?"). Außerdem stehen so auch wirklich alle Daten in der Datenbank und können in ihr miteinander logisch verbunden werden (z.B. phpbb_users und phpbb_sessions). Durch die Tabelle wird auch das Auslesen von fremden Session-IDs verhindert, das mit einem dateibasierten System und einem schlecht konfiguriertem Server/Webspace kein Problem darstellen würde.
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Hallo S2B,
vielen Dank für die Antwort. Jetzt verstehe ich, warum die Sessions in der Datenbank gespeichert werden. Allerdings will ich eigentlich kein neues Feld in der Benutzer-Tabelle einführen, das würde für Gäste nicht funktionieren.
Was ich eigentlich machen wollte ist folgendes: Ich will in $_SESSION['redirect'] immer die aktuelle URL des Benutzers speichern. Wenn der Nutzer dann die Login-Seite aufruft, soll er nach dem Login auf die alte Seite umgeleitet werden. Ich wollte möglichst keine URL-Parameter verwenden und deshalben dazu die PHP-Session benutzen. Allerdings wird der Inhalt von $_SESSION zwischen den Seiten nicht wiederhergestellt, was sonst eigentlich automatisch funktioniert.
Inzwischen konnte ich das Problem lösen, indem ich in die common.php eine session_start(); eingefügt habe.
Gruß,
dum
vielen Dank für die Antwort. Jetzt verstehe ich, warum die Sessions in der Datenbank gespeichert werden. Allerdings will ich eigentlich kein neues Feld in der Benutzer-Tabelle einführen, das würde für Gäste nicht funktionieren.
Was ich eigentlich machen wollte ist folgendes: Ich will in $_SESSION['redirect'] immer die aktuelle URL des Benutzers speichern. Wenn der Nutzer dann die Login-Seite aufruft, soll er nach dem Login auf die alte Seite umgeleitet werden. Ich wollte möglichst keine URL-Parameter verwenden und deshalben dazu die PHP-Session benutzen. Allerdings wird der Inhalt von $_SESSION zwischen den Seiten nicht wiederhergestellt, was sonst eigentlich automatisch funktioniert.
Inzwischen konnte ich das Problem lösen, indem ich in die common.php eine session_start(); eingefügt habe.
Gruß,
dum