Hey habe folgendes Problem. Habe ne PHP datei, index.php , der man mit parametern die aktuelle Seite mitteilt, z.b "index.php?site=login" . Die index.php besteht aus einem HTML Gerüst, wo dann per include die mit GET übergebene Seite includiert wird.
Jetzt habe ich einen Login, also "index.php?site=login" und demensprechend wird in den Content Bereich die login.php mit folgendem Inhalt includiert:
PHP-Code:
<?php
require_once("inc/classes/Login/class.Login.php");
$inc = "login.html";
if(isset($_POST['login']))
{
$LOGIN = new Login();
$validate = $LOGIN->validateLoginData();
if($validate === true)
{
$check = $LOGIN->checkLoginData();
if($check === true)
{
print_r($_SESSION);
die();
$inc = "login_success.html";
}
else
{
$validate = "Der eingegebene Benutzername
und/oder das eingegebene Passwort stimmen nicht!<br />Bitte erneut versuchen!";
}
}
}
include(TEMP_PATH.$inc);
?>
So in meiner Login Klasse wird eine Session gesetzt. Unmittelbar nach dem setzen der Session,
im Code die "if($check === true)" stelle, ist die Session auch gesetzt.
Wenn ich jetzt eine andere Seite aufrufe, z.b.: index.php?site=guestbook und ganz oben mit print_r
prüfe ob Daten in der Session sind, ist diese immer leer.
Ich habe auf allen anderen Dateien keinen zugriff auf die Session. Auch beim erneuten aufrufen der login seite, wenn ich dort ganz oben
prüfe ob die Session werte gesetzt sind, ist diese auch leer.
Ich weiß einfach nicht woran das liegt. Die Session wird in der index.php oben gestartet und ist somit ja auch auf allen includierten Seiten verfügbar. Oder kann man die Session so nicht "durchschleifen?".
Hoffe ihr versteht das Problem und wenn noch weitere Informationen benötigt werden reiche ich diese nach.
Danke im Vorraus.
lg 2Bad4You