2016-04-15 124 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

你怎麼'$ result',你可以發表你的數據庫查詢了。 –

+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 WHERE tables.table_number ='$ makerValue'AND account.acc_username = '$ uname'AND account.acc_password ='$ pword'「); $ stmt-> execute(); $ result = $ stmt-> fetchAll(PDO :: FETCH_ASSOC); –

回答

0

我不知道你是怎麼做您最初的數據庫查詢代碼,您發佈的部分之前,但如果你正在做使用fetchall讓行從數據庫中則可能是更換

的問題
if ($result == 0){ 

if (empty($result)){ 

,以滿足任何用戶發現並在SQL查詢錯誤。

編輯:我的意思是使用fetchall

+0

它的工作!謝謝。 –

+0

不用擔心。如果是這樣,請勾選問題作爲答案。 –

0

試試這個:

if (empty($result)){ 

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