count(): параметр должен быть массивом
Выдает ошибку при авторизации кто поможет что не так?
вроде на другом проекте делал все точно так же там норм тут ошибка
$login = filter_var(trim($_POST['login']), FILTER_SANITIZE_STRING);
$pass = filter_var(trim($_POST['pass']), FILTER_SANITIZE_STRING);
$pass = md5($pass."gwpdk");
include ("config.php");
$result = $mysql->query("SELECT * FROM `bd_users` WHERE `login` = '$login' AND `pass` = '$pass'");
$user = $result->fetch_assoc();
if(Countable($user) == 0) {
echo "Пользователь не найден";
exit();
}
print_r($user);
exit();
$mysql->close();
header('Location: /');
?>
Ответы (1 шт):
Автор решения: Jour
→ Ссылка
<?php
include ("config.php");
// return user object or false
function authenticateUser($login, $passHash) {
GLOBAL $mysql;
$result = $mysql->query("SELECT * FROM `bd_users` WHERE `login` = '$login' LIMIT 1")->fetch_assoc();
if ( !$result ) return false;
if ( $result[0]['pass'] !== $passHash ) return false;
// its okey
return $result[0];
}
$login = filter_var(trim($_POST['login']), FILTER_SANITIZE_STRING);
$pass = md5(trim($_POST['pass'])."gwpdk");
$user = authenticateUser($login, $pass);
if ( !$user ) echo 'Пользователь не найден.';
$mysql->close();
header('Location: /');
?>
Возможно так код будет работать как вам нужно.. но я его не тестировал, писал на коленке