用户名和密码错误处理
问题描述:
我试图把一些陷阱,但它没有奏效。我可以用错误的用户名和密码登录。这有什么可能的解决方案?用户名和密码错误处理
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();
} ?>
答
我不知道你是怎么做您最初的数据库查询代码,您发布的部分之前,但如果你正在做使用fetchall让行从数据库中则可能是更换
的问题if ($result == 0){
与
if (empty($result)){
,以满足任何用户发现并在SQL查询错误。
编辑:我的意思是使用fetchall
+0
它的工作!谢谢。 –
+0
不用担心。如果是这样,请勾选问题作为答案。 –
答
试试这个:
if (empty($result)){
或
if (count($result) == 0){
//show alert
}
else
{
//update login status
}
你怎么'$ result',你可以发表你的数据库查询了。 –
$ 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); –