Also, die Cookies werden innerhalb eines (Login)Templates gesetzt bzw. gelöscht, welches in jeder meiner Seiten per include eingefügt wird.
Wenn sich jemand auf der Homeseite einloggt und wieder dort ausloggt, funktioniert es korrekt. Wenn er sich aber z.B. im Forum ausloggt, wird das Cookie nicht gelöscht bzw. auf 0 gesetzt.
In Auszügen der Code:
if($cmd eq "logout") ## Erneut Login-Maske falls Log Out erfolgt
{
### Cookies wieder loeschen ###
set_cookies "Name=", "SessionId=","path=";
### Ende Cookies loeschen ###
....
}elsif ($cmd eq "login")
{
if($namerein ne "" && pwrein ne "" && $sid eq "")
{
get "Nickname==!$namerein","../register";
if($nutzer_passwort ne "" && $nutzer_passwort eq $pwrein && $Nickname eq $namerein)
{
....
### Cookies setzen ###
set_cookies "Name=$namerein", "SessionId=$sid_aktuell", "path=/";
### Ende Cookies setzen ###
...
...
}
$namerein="";
$login_name="";
}
}
}
if($namerein ne "" && $sid ne "")
{
out "<!-- test, ob aktuelle session-id noch gültig ist -->";
$sidCook=$_cookie{SessionId};
get "Nickname==$namerein", "../register";
$sid_max = 10+(1*$nutzer_sid);
if($sid eq $nutzer_sid || $sid eq $sidCook && $sid_aktuell <= $sid_max)
{
out "<!-- session-id ist gültig - session-id wird aktualisiert -->";
mod "Nickname==$namerein Id==#", ["nutzer_sid", $sid_aktuell], "../register";
$sid=$sid_aktuell;
### Cookies setzen ###
set_cookies "Name=$namerein", "SessionId=$sid_aktuell", "path=/";
### Ende Cookies setzen ###
...
out <<EOF;
... Logout-Formular
EOF
}else ## Session-Id abgelaufen - wieder LogIn-Maske
{
$msg="Session-Id abgelaufen!!!";
...
### Cookies wieder loeschen ###
set_cookies "Name=", "SessionId=","path=";
### Ende Cookies loeschen ###
...
}
}
if($namerein eq "") ## Login-Maske falls nicht angemeldet
{
&form;
}
sub form
... Login-Formular
EOF
Grüße
Oliver ;-)