• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem mit session

T!P-TOP

Mitglied
Hallo zusammen,

ich debugge nun schon ne ganze Weile und ich komm einfach nicht auf den Fehler drauf! :evil:

die index.php:
PHP:
<?php
session_start();
  

// --- include settings.php and includeAllClasses.php
require_once("settings/settings.php");
require_once("includeAllClasses.php");

// --- print Head of html document
HTML::printHead();


// --- if there is a user session id, create a new object of frontController objekt, else include login.php
if(isset($_SESSION['user']['id']) && $_SESSION['user']['id'] > 0) 
{
    echo '<link rel="stylesheet" type="text/css" href="css/intern.css" >';
    HTML::printBody();
    $frontController = new frontController($_GET['module'], $bgRoot);
    
}
else
{
    echo '<link rel="stylesheet" type="text/css" href="css/startpage.css" >';
    HTML::printBody();
    require_once("login.php");
    
}


// --- print Foot of html document
HTML::printFoot();
?>

Ein Teil der login.php:
PHP:
            if(isset($data->id))
            {
                $_SESSION['user'] = array();
                $_SESSION['user']['id'] = (int)$data->id;
                $_SESSION['user']['username'] = $data->username;
                header("Location: ".$bgRoot."/index.php");
            }

Logge ich mich ein, bindet die index.php wieder die login.php Datei ein. Es wird also kein Session Array übergeben, bzw ohne Inhalt. Gebe ich in der Login.php anstatt dem header die $_SESSION['user']['id'] aus, bekomme ich auch die id problemlos übermittelt. Ich habe auch geprüft, ob es sich um einen Integer handelt und ja, es ist n Integer und dennoch werde ich nicht eingeloggt!?


Viele Grüße
T!P-TOP
 
Wie schon gesagt, die Daten die ich in $_SESSION speichere, werden nach dem versenden des headers (Location) scheinbar wieder gelöscht.

Die ausgabe von $_SESSION: Array ( )

Sonst wird nichts ausgegeben.


Grüße
 
Hallo,
bist schon mal auf die idee gekommen bei header Location auch die SESSION id mit zu geben, das die ".$bgRoot."/index.php auch weiss das eine SESSION schon vorhanden ist und wie die heist?
Wäre zumindest ein test wert.
PHP:
header("Location: ".$bgRoot."/index.php?PHPSESSID=".session_id());

Cheffchen
 
Hallo,

also der Link sieht so schick aus und hat bei mir immer geklappt.
Schau doch mal was in der phpinfo() steht bei session.name
Vielleicht heist das anders bei dir, obwohl ich mir das nicht vorstellen kann.

Cheffchen
 
DirectiveLocal--ValueMaster--Value
session.name--PHPSESSID--PHPSESSID



Error Reporting ist im Script drin, allerdings werden keine Fehler angezeigt.
 

Neueste Beiträge

Zurück
Oben