PHP/MySQL Login

PHP:
<?php
    session_start();
 
    if(!isset($_SESSION["user_id"])) {
        echo "blubb";
        sleep(5);
        header ("Location: ../sites/login.php");
    }
    else {
        $arr = array("Admin");
        if(in_array($_SESSION["user_nickname"], $arr)) {
            header("Location: ../sites/login.php");
        }
    }
?>

Wenn ich das so mache, kommt man auf die seite, sieht das echo, wird aber nicht weitergeleitet.
Warum kann man nicht nur das echo sehen?
 
auch so wird man nicht weitergeleitet.

Ich sehe zwar das echo auf der seite, werde aber nicht weitergeleitet. auserdem hätte ich gerne, dass das echo auf einer leeren seite angezeigt wird.


Oder ganz anders: man wird auf die login.php weitergeleitet und erst da kommt ein echo. so wie die fehlermeldung bei falsch login.


Aber wie unterscheide ich fehler=1 und fehler=2
 
Zuletzt bearbeitet:
Die kommt daher weil Du im Fehlerfall mit header() den Wert für "fehler" übergibst:
PHP:
header ("Location: ../sites/login.php?fehler=1");
somit kannst halt mehrere Fehler definieren und in deiner weitergeleiteten .php darauf reagieren.
 
Zurück