Hy zusammen
Nach mehrtägigem Interval-Suchen hab ich's nun aufgegeben und mich entschlossen doch mal einen Beitrag zu meinem Problem zu verfassen.
Als vorab Info zum besseren Verständnis: Ich habe eine Haupteinstiegsseite unter dem Webroot (/index.php) und das Forum unter /forum. phpBB wurde gemäss einschlägigen Tutorials in die index.php eingepflegt.
Ich möchte nun Daten in einer Session eines Users ablegen. Normalerweise würde ich dazu $_SESSION verwenden, phpBB hat da ja aber sein eigenes Session Handling, so dass man $_SESSION mal in die Ecke stellen kann weils nix nützt. Cookies sind aber keine alternative da mir die zwischen den Pages flöten gehen wenn man vom Forum raus in den "Nicht zum Forum gehörenden Teil" zurück geht. Zudem könnte es ja sein das Cookies gar nicht akzeptiert werden.
Gibt es in phpBB keine Möglichkeit Daten während einer Session zu speichern?
Gruss
Gargo
Eigene Session Variablen speichern
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.
Re: Eigene Session Variablen speichern
Hallo Gargo,
du könntest dich direkt in die includes/session.php einklinken und in der Tabelle phpbb_sessions eine neue Spalte anlegen, so habe ich es auch testweise gemacht, um die vom User gewählte Sprache mit abzulegen. Hier mal mein Beispiel (Ausschnitt) damit du weist, an welcher Stelle das rein muss:
Gruß Helmut
du könntest dich direkt in die includes/session.php einklinken und in der Tabelle phpbb_sessions eine neue Spalte anlegen, so habe ich es auch testweise gemacht, um die vom User gewählte Sprache mit abzulegen. Hier mal mein Beispiel (Ausschnitt) damit du weist, an welcher Stelle das rein muss:
Code: Alles auswählen
[...]
$session_autologin = (($this->cookie_data['k'] || $persist_login) && $this->data['is_registered']) ? true : false;
$set_admin = ($set_admin && $this->data['is_registered']) ? true : false;
//Quickly change language
$sql = 'SELECT user_id, user_lang
FROM ' . USERS_TABLE . "
WHERE user_id = " . $this->data['user_id'];
$result = $db->sql_query($sql);
$rowlang = $db->sql_fetchrow($result);
//--------------------------
// Create or update the session
$sql_ary = array(
'session_user_id' => (int) $this->data['user_id'],
'session_start' => (int) $this->time_now,
'session_last_visit' => (int) $this->data['session_last_visit'],
'session_time' => (int) $this->time_now,
'session_browser' => (string) trim(substr($this->browser, 0, 149)),
'session_forwarded_for' => (string) $this->forwarded_for,
'session_ip' => (string) $this->ip,
'session_autologin' => ($session_autologin) ? 1 : 0,
'session_admin' => ($set_admin) ? 1 : 0,
'session_viewonline' => ($viewonline) ? 1 : 0,
//Quickly change language test
'session_lang' => $rowlang['user_lang'],
//'session_lang' => '',
);
if ($this->update_session_page)
{
$sql_ary['session_page'] = (string) substr($this->page['page'], 0, 199);
$sql_ary['session_forum_id'] = $this->page['forum'];
}
[...]
Ich bin nicht ganz dicht.... na und.