2016-10-17 3 views
-1

Ich versuche ein Login-System zu machen. Immer wenn jemand falsche Angaben eingibt, sollte eine Nachricht gechickt werden, aber die Seite leitet mich zu meiner index.php-Datei weiter. Ich weiß, ich habe eine header(); Funktion, aber das sollte nicht nach der if-Anweisung aufgerufen werden.PHP - Echo wird nicht angezeigt?

session_start(); 

include 'dbh.php'; 

$uid = $_POST['uid']; 
$pwd = $_POST['pwd']; 

$sql = "SELECT * FROM users WHERE uid='$uid' AND pwd='$pwd'"; 

$result = mysqli_query($conn, $sql); 

if (!$row = mysqli_fetch_assoc($result)) { 
    echo "Your username or password is incorrect"; 
} else { 
    $_SESSION['id'] = $row['id']; 
} 

header("Location: ../index.php"); 
+1

Wenn der Browser eine Weiterleitung erhält, wird die Seite nicht zuerst angezeigt. – Barmar

Antwort

0

Eigentlich funktioniert es, aber danach leitet es Sie mit Ihrer Header-Funktion auf die Startseite um. Fügen Sie header("Location: ../index.php"); innerhalb Ihrer anderen Bedingung hinzu & Sie erhalten Ihre gewünschte Ausgabe.

+0

Ich glaube, er möchte, dass es die Nachricht anzeigt und dann in beiden Fällen umleitet. – Barmar

+0

Dann muss er etwas wie javascript settimeout oder php sleep-Funktion verwenden. – Jobayer

+0

Oder Meta-Refresh mit einer Zeitüberschreitung – Barmar