<?php
if (!($user -> LoggedIn()))
{
if (isset($_POST['loginBtn']))
{
$username = $_POST['username'];
$password = $_POST['password'];
$errors = array();
if (!ctype_alnum($username) || strlen($username) < 4 || strlen($username) > 15)
{
$errors[] = 'Длина имени пользователя должна быть 4-15 символов';
}
if (empty($username) || empty($password))
{
$errors[] = 'Пожалуйста, заполните все поля';
}
if (empty($errors))
{
$SQLCheckLogin = $odb -> prepare("SELECT COUNT(*) FROM `users` WHERE `username` = :username");
$SQLCheckLogin -> execute(array(':username' => $username));
$countLogin = $SQLCheckLogin -> fetchColumn(0);
if ($countLogin == 1)
{
$gethashSQL = $odb -> prepare("SELECT `password` FROM `users` WHERE `username` = :username");
$gethashSQL -> execute(array(":username" => $username));
$hash = $gethashSQL -> fetch();
if (hash_equals($hash['password'], crypt($password, $hash['password']))) {
$SQLGetInfo = $odb -> prepare("SELECT `username`, `ID` FROM `users` WHERE `username` = :username");
$SQLGetInfo -> execute(array(':username' => $username));
$userInfo = $SQLGetInfo -> fetch(PDO::FETCH_ASSOC);
if ($userInfo['status'] == 0)
{
$_SESSION['username'] = $userInfo['username'];
$_SESSION['ID'] = $userInfo['ID'];
echo '<div class="alert alert-success"><p><center>Авторизация успешна! Перенаправление...</center></p></div><meta http-equiv="refresh" content="3;url=dashboard.php">';
}
else
{
echo '<div class="alert alert-danger"><p><center>Вы были забанены!</center></p></div>';
}
} else {
echo '<div class="alert alert-danger"><p><center>Авторизация не удалась! Попробуйте еще раз.</center></p></div>';
}
}
else
{
echo '<div class="alert alert-danger"><p><center>Авторизация не удалась! Попробуйте еще раз.</center></p></div>';
}
}
else
{
echo '<center><div class="alert alert-danger"><p><strong></strong>';
foreach($errors as $error)
{
echo ''.$error.'';
}
echo '</div></center>';
}
}
}
else
{
header('location: dashboard.php');
}
?>