[Gelöst] Immer wieder neue Session - wieso?
Verfasst: 25.08.2005 15:41
Hi Leute! Ich hab ne Frage zum Session-Management von phpBB, denn entweder check ich da was nicht, oder was auch immer.
Es ist folgendermaßen! Auf meiner Site stelle ich verschiedene Designs zur Auswahl und die Auswahl wird in der Session gespeichert. Wurde keine Auswahl getroffen wird automatisch das 1. Design gewählt. Jetzt wollte ich, damit er nicht nach einem Seitenwechsel - z.B. zum Forum der Seite und zurück - das Design auf's erste setzt, das Design mit in der Session speichern.
Alle meine Links habe ich in die Funktion append_sid() gepackt, so dass er die SID automatisch anhängt, wenn's nötig ist. An dieser Stelle habe ich 2 Fragen:
1) Wann hält er es für nötig die SessionID anzuhängen?
2) Wieso habe ich nach ein paar (2 oder so) Seitenwechseln immer ne neue SessionID, wodurch das Design auf 1 gesetzt wird, weil ja keines per GET übergeben wurde, aber in der NEUEN Session auch keines steht.
Hoffe ihr versteht mein Problem! Hier der meiner Meinung nach relevante Teil von Code, falls da der Fehler liegen sollte:
Und hier ein Beispiel für einen mit append_sid() "bestückten" Link:
Ich hoffe ihr wisst, was ich von euch wissen will!
Wenn nicht, dann fragt einfach nach!
Eigentlich geht es mir am meisten darum, dass die Session nicht ständig eine neue ist...
ach und noch was!
Ist es irgendwie möglich, dass die Designauswahl vielleicht auch beim User zusammen mit dem Benutzernamen als Cookie gespeichert wird? Also klar - kann selber Cookie setzen, aber der soll ja auch bei einem Logout auch wieder gelöscht werden! Wie kann ich das irgendwie arrangieren?
Es ist folgendermaßen! Auf meiner Site stelle ich verschiedene Designs zur Auswahl und die Auswahl wird in der Session gespeichert. Wurde keine Auswahl getroffen wird automatisch das 1. Design gewählt. Jetzt wollte ich, damit er nicht nach einem Seitenwechsel - z.B. zum Forum der Seite und zurück - das Design auf's erste setzt, das Design mit in der Session speichern.
Alle meine Links habe ich in die Funktion append_sid() gepackt, so dass er die SID automatisch anhängt, wenn's nötig ist. An dieser Stelle habe ich 2 Fragen:
1) Wann hält er es für nötig die SessionID anzuhängen?
2) Wieso habe ich nach ein paar (2 oder so) Seitenwechseln immer ne neue SessionID, wodurch das Design auf 1 gesetzt wird, weil ja keines per GET übergeben wurde, aber in der NEUEN Session auch keines steht.
Hoffe ihr versteht mein Problem! Hier der meiner Meinung nach relevante Teil von Code, falls da der Fehler liegen sollte:
Code: Alles auswählen
<?
ob_start();
//Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = $_SERVER['DOCUMENT_ROOT'].'/forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//Session auslesen und Benutzer-Informationen laden
$userdata = session_pagestart($user_ip, PAGE_WEBSITE);
init_userprefs($userdata);
//An dieser Stelle wird das Design ausgewählt und in die Session-Tabelle von phpBB eingetragen
require ('modules/db/db.php');
Code: Alles auswählen
<a href="<?=append_sid('index.php?page=news');?>"><img src="design/wow1/menu_point_blue.gif" border="0" alt="[x]"> News</a>


ach und noch was!
Ist es irgendwie möglich, dass die Designauswahl vielleicht auch beim User zusammen mit dem Benutzernamen als Cookie gespeichert wird? Also klar - kann selber Cookie setzen, aber der soll ja auch bei einem Logout auch wieder gelöscht werden! Wie kann ich das irgendwie arrangieren?