2014-12-31 99 views
-2

我想創建一個腳本來做到這一點:當用戶寫入用戶和密碼並按下Login時,我想檢查數據庫是否被阻止。登錄阻止頁面上的用戶

DB:ID - BLOCKED - 用戶名 - 電子郵件 - 密碼 - 鹽

封鎖的是布爾

所以,如果封鎖的是1,用戶被阻止,無法連接到網站,留在登錄頁面。 如果它是0,他可以登錄成爲會員。

有人能幫助我嗎?

$block = $row['blocked']; 

if(isset($_POST['username']) == $block = 1) 
{ 
    $login_ok = false; 
    echo "Account Blocked"; 
} else { 
    $login_ok = true; 
} 
+0

不要處理正宗在客戶端。你在乞求麻煩。破解你寫的東西很容易。像'$ block = 0; $ login_ok = true;' –

+5

'if(isset($ _ POST ['username'])== $ block = 1)'沒有意義。 – j08691

+0

查詢進入數據庫以檢查他是否被阻止? – tapananand

回答

0

如果數組$行表示從數據庫回來它相匹配的用戶名/密碼和你說$行[「塊」]可以是1或0後一排,那麼你應該從:

if(isset($_POST['username']) == $block = 1) 

這樣:

if ($block) 
0

你用你if() statement錯誤。

它應該看起來像這樣: $ block = $ row ['blocked'];

if(isset($_POST['username']) && $block == 1) 
{ 
    $login_ok = false; 
    echo "Account Blocked"; 
} else { 
    $login_ok = true; 
} 

但是,如果你正在使用$_POST['username']找出如果用戶被封鎖那麼你的if語句可以縮短爲以下幾點:

$block = $row['blocked']; 

if($block == 1) 
{ 
    $login_ok = false; 
    echo "Account Blocked"; 
} else { 
    $login_ok = true; 
} 

就個人而言,使用你有什麼那裏我會設置像這樣:

if(!isset($_POST['username']){ 
    echo "Username not entered!"; 
} else { 
    $username = $db->real_escape_string(stripslashes(trim($_POST['username']))); 
    $q = $db->query("SELECT * FROM users WHERE username='$username'"); 
    $row = $q->fetch_assoc(); 

    $block = $row['blocked']; 
    if($block == 1){ 
     $login_ok = false; 
     echo "Account Blocked"; 
    } else { 
     $login_ok = true; 
    } 
} 

希望這有助於

+0

是的,你幫助我。非常感謝你的朋友。 :d – user3408459