2016-04-15 17 views
0

Ich habe versucht, einige Fallen zu setzen, aber es hat nicht funktioniert. Ich kann mich mit falschem Benutzernamen und Passwort einloggen. Was ist die mögliche Lösung dafür?Benutzername und Passwort Fehlerbehandlung

foreach ($result as $row) { 
    $acc_username=$row['acc_username']; 
    $acc_password=$row['acc_password']; 
    $acc_tableid=$row['table_id']; 


    } 

    if ($result == 0){ 
    echo ' 
    <div class="alert alert-danger"> 
    <strong>Danger!</strong> This alert box could indicate a dangerous or potentially negative action. 
    </div>'; 
    echo ("<SCRIPT LANGUAGE='JavaScript'> 
    window.location.href='tableLogin.php'; 
    </SCRIPT>"); 
} 
else{ 
    $_SESSION['table_number'] = $_POST['Make']; 
    $_SESSION['table_idd'] = $row['table_id']; 
    header("Location: customerLogin.php"); 
} 
    $update = "UPDATE tables SET login_status=1 WHERE table_id= $table_id"; 
    if(mysql_query($update)){ 
     } 
}catch(PDOException $e) { 
echo "Connection failed: " . $e->getMessage(); 
} ?> 
+0

Wie Sie '$ result' bekommt, können Sie Ihre DB-Abfrage erstellen. –

+0

$ stmt = $ conn-> prepare ("SELECT account.acc_username, account.acc_password, tables.table_id FROM account INNER JOIN-Tabellen ON Tabellen.table_id = account.table_id WHERE tables.table_number = '$ makerValue' AND account.acc_username = '$ uname' UND account.acc_password = '$ pword' "); $ stmt-> execute(); $ result = $ stmt-> fetchAll (PDO :: FETCH_ASSOC); –

Antwort

0

Ich bin nicht sicher, wie Sie Ihre erste Datenbankabfrage vor dem Abschnitt des Codes tun, die Sie auf dem Laufenden, aber wenn Sie tun fetchAll die Zeilen aus der Datenbank zu erhalten, dann kann es eine Frage der sein

ersetzen
if ($result == 0){ 

mit

if (empty($result)){ 

für keine Benutzer gerecht zu werden gefunden und Fehler in der SQL-Abfrage.

Edit: bedeutete, dass ich fetchAll

+0

Es hat funktioniert! Vielen Dank. –

+0

Keine Sorgen. Kreuzen Sie die Frage als Antwort an, wenn das alles ist. –

0

Try this:

if (empty($result)){ 

oder

if (count($result) == 0){ 
    //show alert 
} 
else 
{ 
//update login status 
} 
Verwandte Themen