Dass sich das Verhalten von isset (und empty) in neueren Sprachversionen geändert hat, z.B.
Aber es ist sowieso keine schöne Art, dies per 'isset' zu überprüfen. Ich würde dir raten, das ganze so zu schreiben:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<?php
session_start();
//header('Content-Type: text/html; charset=utf-8');
//include 'functions.php';
echo 'Test1';
if(array_key_exists('loggedin', $_SESSION) && !$_SESSION['loggedin'])
{
//echo 'TEst4';
$_SESSION['loggedin'] = false;
//header('location: login_form.php');
//echo 'TEST2';
}
else
{
echo 'else';
}
echo 'TEST3';
?>
|
Ungetestet!
Zunächst überprüfen wir, ob ein Index 'loggedin' überhaupt vorhanden ist und wenn, dann überprüfen wir, ob der Wert an diesem Index false ist.
Ich habe auch mal deine doppelten Anführungszeichen gegen einfache gewechselt: Bei doppelten versucht PHP mögliche Variablen in dem string aufzulösen, was Zeit intensiver ist, als direkt einfache Anführungszeichen zu verwenden.