header Weiterleitung leert die aktuelle Session

ptron

Grünschnabel
Hallo,

ich habe schon wieder ein Problem bei dem ich einfach nicht weiter komme.
Ich programmiere mir gerade ein Login-Scrip

login.php
Code:
    require_once('server_config.php'); // Sessionhändler der die Sessions in eine DB schreibt
    require_once('login_script.php');  // Loginlogic startet wenn per POST Daten kommen
    if(isset($_SESSION['login']) && $_SESSION['login'] === true) {
   header("location: http://localhost/login3/sicher.php");
   exit();
    }
    else {
        require('login_markup.php');
        exit();
    }

sicher.php
Code:
    require_once('server_config.php');
    if(!isset($_SESSION['login']) || $_SESSION['login'] !== true) {
        require('login_markup.php');
        
    }

( in server_config.php ist session_start enthalten )

Wenn der Login erfolgreich war, wird man an die gesicherte Seite weitergeleitet, wenn nicht wird das Loginfeld erneut eingebunden.
Das Problem ist nun, wenn ich mich einlogge, werde ich an die sichere Seite weitergeleitet, allerdings kommt dort wieder was Loginfeld, was bedeutet, dass ich nicht eingeloggt bin.
Dank des Sessionhändlers kann ich mir in der DB die Session anschauen... sie ist leer.
Als mächstes habe ich die Weiterleitung raus genommen und mir die Session in der DB angeschaut, und die Variablen sind gesetzt ( die Variable login ist auf 1 ). Dann die Weiterleitung wieder rein und require_once('login_script.php'); raus. Dann die Seite neu geladen ( werde wieder auf sicher.php weitergeleitet ) und in die DB geschaut Ergebnis = Session ist leer ( Die Session ID ist unverändert, ist also noch die selbe Session ). Irgendwie wird die Session bei der Weiterleitung mit header gelöscht, ich weis nur nicht warum. Hat jemand eine Idee ?

Gruß
 
Zuletzt bearbeitet:
Sry Leute ich habe dieses thema voreilig eröffnet, habe festgestellt, dass es an meinem Sessionhändler lag, hatte vor !$stmt->num_rows folgendes vergessen: $stmt->store_result()
dadurch wurde die session nie gefunden...
 
Zurück