Sessionproblem

Aloah,
ich bastel grad eine HP und brauche dafür Sessions.

in der Headerdatei steht folgendes:

<?php if(!isset($_SESSION['user'])) { session_start(); $_SESSION['user'] = Gast; } ?>
-> wenn keine User Variable gesetzt ist, startet er eine neue Session und nennt den User Gast.

-> im Loginscript:

[code]<?php
$login =& $_POST;
if (($login[‘password’] <> ‘’) && ($login[‘username’] <> ‘’)) {
// sind beide Felder ausgefüllt?
if (validate_user($login[‘username’],$login[‘password’])) {
//WENN username und pw stimmen
$_SESSION[‘user’] = $login[‘username’]; echo $_SESSION[‘user’]; }
// SESSIONvariable User = eingegebener Username, SESSIONvariable ausgeben (Debugging)
else { test($login[‘username’],$login[‘password’]); }
//ansonsten Teste die eingegebenen Daten und geben Fehlermeldungen aus
}

?>[/code]

–> hier wird der $_SESSION[‘user’] korrekt angezeigt…

aber: footer.php :

gibt wieder Gast aus… und wenn ich auf eine andere Seite surfe, in der einfach drinsteht
echo $_SESSION[‘user’] wird auch wieder Gast ausgegeben… weiß einer warum?
MfG Pyromane

lol -_-
der erste Codeschnipsel hat immer Gast reingeschrieben, egal ob etwas drinnstand…

Mhh… aber 2 Fragen hätt ich noch:

1.) Auch wenn ich schreibe:

if($_SESSION['user']<>'') {} 
else { session_start();
         $_SESSION['user']=Gast; }

schreibt es jedesmal “Gast” hinein, obwohl doch eig. ein Benutzername drinnstand ?!

weiß jmd. wie ich das stattdessen implementieren könnte?

2.) wielang ist die SESSION per Voreinstellung gültig, wenn man nichts anderes einstellt?

  • gelöst : sie gilt, bis man das Browserfenster schließt… -

MfG Pyromane

Hi,

Dies Abfrage bei [1] wird IMMER wahr sein, da die $_SESSION Variabel noch nicht existiert. Du musst ZUVOR die Session starten. Erst dann kannst du auf die Variabel zugreifen.

So dürfte es gehen:

[quote=“Pyromane”]2.) wielang ist die SESSION per Voreinstellung gültig, wenn man nichts anderes einstellt?

  • gelöst : sie gilt, bis man das Browserfenster schließt… -[/quote]
    Diese Frage kann man so trivial nicht beantworten - da müsste man erst mal den Begriff der “Gültigkeit” in Bezug auf Sessions klarer definieren.