Session Problem seit Serverwechsel

mauli_rulez

Mitglied
Hallo,

seit einem Serverwechsel (und dem Wechsel von php4 auf php5) funktioniert ein Teil meiner SESSIONs nicht mehr. (Der Login-Bereich meiner Seite, der auch Sessions verwendet funktioniert jedoch problemlos).

Ich teste folgenden Code, der irgendwo tief in der Website verwurstelt ist, und lasse mir die SESSION per var_dump in der nächsten Datei (index_new.php) ausgeben.
PHP:
$_SESSION["reise"]["code"] = (int)$new_code;
$_SESSION['reise']['sektor'] = (int)$_POST['sektor'];
$_SESSION['reise']['ReiseSchonVorhanden'] = false;
header('Location: index_new.php?<ein paar unwichtige GET parameter>');

Ergebnis in index_new.php:
(Die SESSION Variablen gehören zum Login und sind schon richtig so ;) es fehlen nur die [code][reise][code][/code] etc. )
HTML:
array(5) {
  ["loggedIn"]=>
  bool(true)
  ["user"]=>
  string(6) "user1"
  ["anzahlLogins"]=>
  string(2) "38"
  ["id"]=>
  string(1) "3"
  ["TESTVAR"]=>
  int(3)
}

Das Seltsame ist: Wenn ich nun folgenden Code ausprobiere und anschließend auf den Link klicke erhalte ich eine korrekte Ausgabe:
PHP:
$_SESSION["reise"]["code"] = (int)$new_code;
$_SESSION['reise']['sektor'] = (int)$_POST['sektor'];
$_SESSION['reise']['ReiseSchonVorhanden'] = false;
//header('Location: index_new.php?<ein paar unwichtige GET parameter>');	
echo"<pre><a href=\"index_new.php?<ein paar GET Parameter>\">"; var_dump($_SESSION); echo"</a></pre>";

(Korrekte Ausgabe:
HTML:
array(6) {
  ["loggedIn"]=>
  bool(true)
  ["user"]=>
  string(6) "sascha"
  ["anzahlLogins"]=>
  string(2) "38"
  ["id"]=>
  string(1) "3"
  ["TESTVAR"]=>
  int(3)
  ["reise"]=>
  array(3) {
    ["code"]=>
    int(84)
    ["sektor"]=>
    int(2)
    ["ReiseSchonVorhanden"]=>
    bool(false)
  }
}
Warum?
Ist das eine Einstellungssache? Oder hab ich einfach nur irgendwas Dummes übersehen? Ich komme jedenfalls nicht weiter mit meinem Script -.-

Hoffe jemand findet hier den Fehler bzw. kann mir helfen

MfG Sascha

Weitere Informationen:
session_start() erfolgt auf jeder Seite irgendwo ganz oben.
ANbei die Asugabe von ini_get_all('session') falls man die benötigen solte
 

Anhänge

Das Prolem ist, dass, wenn ich per header() weitergeleitet werde, die SESSION Variablen $_SESSION['reise']['blabla'] nicht in der index_new.php ankommen.
(Wennn ich per Link auf die Seite wechsle geht es jedoch)
 
wow. Das war alles ;)
Vielen Dank für die schnelle Hilfe, Gumbo!

Bedeutet das, dass ich immer nach dem Schreiben in $_SESSION die session_write_close() aufrufen muss?
 
Nein. Diese Funktion sorgt nur dafür, dass die Änderungen der $_SESSION-Variable sofort gespeichert werden und nicht erst am Ende des Skriptes. Dadurch sind Änderungen nach dem Aufruf allerdings auch nicht mehr möglich.
 
Zurück