Здравствуйте, идея проста, но у меня не выходит. Итак, есть авторизация, регистрация. все работает, прекрасно.
но появилась необходимость (не спрашивайте почему) сделать авторизацию пользователей по уже вбитому по БД паролю.
Не подскажите что надо подправить? Вот код:
<?php
require 'db.php';
$data = $_POST;
if ( isset($data['do_login']) )
{
// echo password_hash($data['password'], PASSWORD_DEFAULT);
$login = $data['login'];
$user_pass = md5($data['password']);
$user = $DBH->query("SELECT * FROM МОЯ БАЗА ДАННЫХ WHERE login = '$login' AND password = '$user_pass'");
$user->execute();
$row = $user->fetch();
if (isset($row['id']))
{
//логин существует
//если пароль совпадает, то нужно авторизовать пользователя
$_SESSION['login'] = $row['login'];
$_SESSION['password'] = $row['password'];
switch ($row['status']) {
case 'superadmin':
$redirect = 'index.php';
break;
case 'admin':
$redirect = 'admin.php';
break;
case 'head':
$redirect = 'head_department.php';
break;
case 'user':
$redirect = 'index.php';
break;
case 'tabel':
$redirect = 'head_department.php';
break;
}
header('Location: /'.$redirect);
}else
{
$errors[] = 'Логин или пароль введены неверно';
}
if ( ! empty($errors) )
{
//выводим ошибки авторизации
echo '<div id="errors" style="color:red;">' .array_shift($errors). '</div><hr>';
}
}
?>