есть таблицы users, где хранится логин, пароль и роли ( роль = 0 - user, роль = 1 - admin).
для каждой роли есть свой URL : для user - index2.php, для admin - admin.php.
Т.к. я делаю это в первый раз, то прочитав кучу сайтов, получилось сделать только вот это:
spoilerrequire "db.php";
$data = $_POST;
if (isset($data['do_login']))
{
$errors = array();
$user = R::findOne('users', 'login=?', array($data['login']));
if ($user) {
if (password_verify($data['password'], $user->password))
{
if ($data ['role'] == 0 ) {
header('location: index2.php');
} else {
header('location: admin.php');
}
}
else{
$errors[] = "Неверно введён пароль!";
}
}
}
?>
так же прикрепляю код со страницы регистрации:
spoiler<?php
require "db.php";
$data = $_POST;
if( isset($data['do_signup'])){
if (trim($data['login']) == ''){
$errors[] = 'Введите ФИО нового сотрудника!';
}
if (trim($data['identificational']) == ''){
$errors[] = 'Введите идентификационный сотрудника!';
}
if (trim($data['role']) == ''){
$errors[] = 'Введите привелегию сотрудника!';
}
if (trim($data['email']) == ''){
$errors[] = 'Введите E-mail!';
}
if ($data['password'] == ''){
$errors[] = 'Введите пароль!';
}
if (R::count('users', "identificational = ?", array($data["identificational"])) >0)
{
$errors[] = "Пользователь с таким идентификационным номером уже существует!";
}
if (R::count('users', "email = ?", array($data["email"])) >0)
{
$errors[] = "Пользователь с таким E-mail уже существует!";
}
if (empty($errors))
{
$user = R::dispense('users');
$user->login = $data['login'];
$user->identificational = $data['identificational'];
$user->role = $data['role'];
$user->email = $data['email'];
$user->password = password_hash($data['password'], PASSWORD_DEFAULT);
R::store($user);
echo '<div style="color: green;">Вы успешно зарегестрированы!</div><hr>';
} else{
echo '<div style="color: red">'.array_shift($errors).'</div><hr>';
}
}
?>
<form action="signup.php" method="post">
<p><strong>ФИО сотрудника</strong>
<input type="text" name="login" value="<?php echo @$data ['login'];?>">
</p>
<p><strong>Идентификационный сотрудника</strong>
<input type="number" name="identificational" value="<?php echo @$data ['identificational'];?>">
</p>
<p><strong>Привилегия сотрудника</strong>
<input type="number" name="role" value="<?php echo @$data ['role'];?>">
</p>
<p><strong>E-mail сотрудника</strong>
<input type="email" name="email" value="<?php echo @$data ['email'];?>">
</p>
<p><strong>Пароль для входа в систему</strong>
<input type="password" name="password" value="<?php echo @$data ['password'];?>">
</p>
<p>
<button type="submit" name="do_signup">регистрация нового сотрудника</button>
</p>
</form>