2016-07-24 6 views
2

Ich bekomme diesen nervigen Fehler, den ich nicht loswerden kann.Login/Anmeldung 'zu viele Redirects' Fehler

Relevante Schnipsel:

index.php:

if(isset($_SESSION['isLoggedIn']) && $_SESSION['isLoggedIn']===true){ 
    $isLoggedIn = true; 
}else{ 
    $_SESSION['isLoggedIn'] = false; 
    header('Location: /signup'); 
} 

signup.php:

if(isset($_SESSION['isLoggedIn']) && $_SESSION['isLoggedIn']===true){ 
    header('Location: /'); 
} else { 
    $_SESSION['isLoggedIn'] = false; 
} 

Ich werde auf signup.php Seite umgeleitet, aber danach too many redirects Fehler angezeigt . In Serverprotokollen gibt es nur 302 Weiterleitungen zu signup.php Seite. Ich werde nirgendwo anders in signup.php umleiten.

Woher könnte dieser Fehler kommen?

+0

Haben Sie andere 'header ('Location ...' irgendwo in Ihrem Code? (Vielleicht in einer inkludierten Seite) – FirstOne

+1

Versuchen Sie, die Header einzeln zu kommentieren, und sehen Sie, ob der Fehler verschwindet. – Martijn

+0

@FirstOne - Nr. – tekina

Antwort

2

Ihr header('Location: /signup'); schlägt fehl, weil die Datei tatsächlich signup.php und /signup ein Ordner heißt.

und wird interpretiert als: /go_to_root/signup/index.php

Da dieser Ordner nicht vorhanden ist, wird es Schleifen über von einem höchstwahrscheinlichen 404 und zu einer Indexdatei.

Daher müssen Sie es als

machen lesen
header('Location: /signup.php'); 

und fügen exit; nach jedem Header, sonst wird Ihr Code auszuführen fortzusetzen.