2016-04-15 5 views
0

私はいくつかのトラップを入れようとしましたが、動作しませんでした。間違ったユーザー名とパスワードでログインできます。これにはどのような解決策がありますか?ユーザー名とパスワードのエラー処理

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

は、あなたもあなたのDBクエリを投稿することができます。 –

+0

$ stmt = $ conn-> prepare( "SELECT account.acc_username、account.acc_password、tables.table_id FROM account INNER JOIN tables on tables.table_id = account.table_idここでtables.table_number = '$ makerValue' AND account.acc_username = '$ uname' AND account.acc_password = '$ pword' "); $ stmt-> execute(); $結果= $ stmt-> fetchAll(PDO :: FETCH_ASSOC); –

答えて

0

私はあなたが投稿コードのセクションの前に、あなたの最初のデータベースクエリを行っているかわかりませんが、あなたがデータベースから行を取得するにはfetchAllを行っている場合、それは

を置き換えるの問題でありいいえ、ユーザーの要求を満たすために

if (empty($result)){ 

if ($result == 0){ 

が見つかりましたし、SQLクエリのエラー。

編集:私はfetchAllの

+0

それは働いた!ありがとうございました。 –

+0

心配はいりません。それがすべてであれば、その質問を答えにしてください。 –

0

はこの試してみてください意味:あなたは `$のresult`を取得するにはどうすればよい

if (empty($result)){ 

または

if (count($result) == 0){ 
    //show alert 
} 
else 
{ 
//update login status 
} 
関連する問題