echo $begrueszung;
case ($_SESSION['access'] == true && (!isset($_GET['delete']) || !isset($_GET['writenews']) || !isset($_GET['logout'])) && isset($_GET['admin'])):
bei
$_SESSION['access'] == true
ist das "== true" überflüssig.[1]
bei ?admin&delete
$_SESSION['access'] == true --> true
&& (
!isset($_GET['delete']) --> false (isset => true; ! => false)
|| !isset($_GET['writenews']) --> true (isset => false; ! => true)
|| !isset($_GET['logout']) --> true (isset => false; ! => true)
) ergibt --> true
&& isset($_GET['admin']) --> true
Bedingung erfüllt
Wenn man bereits von der eigenen Programm-Logik verwirrt ist :-) , hilft es, sich Teilausdrücke mit var_dump() anzeigen zu lassen, um den Knoten aufzulösen.
echo "$verabschiedung $name";
[1] Es sei denn, du willst auch den Type mit überprüfen, dann ist aber ein === (3x) erforderlich.