Есть таблица users, в ней содержатся данные пароль, логин, роль (1- админ, 0 -пользователь), есть авторизация для пользователя, нужно что бы через форму авторизации проходил
только тот у кого роль = 0.
вот код, но тут явно что то пошло не так.
spoiler<?php
require "db.php";
$data = $_POST;
$result = R::find('email', 'role=0');
if (isset($data['do_signup']))/*Если нажата кнопка*/
{
$errors = array();
$user = R::findOne('users', 'email=?', array($data['email']));/*Проверка на наличие email*/
if ($user)
{
if (password_verify($data['password'], $user->password)) /*Проверка пароля*/ {
if ($data['email'] == $result) /*Условие для входа */
$_SESSION['user'] = $user;
header("Location: index2.php");
exit;
}
}
else {
$errors[] = 'Неверно введен пароль!';
}
} else
{
$errors[] = 'Пользователь с таким E-mail не найден!';
}
if (!empty($errors))
{
echo '<div style = "color:red;">'.array_shift($errors).'</div><hr>';
}
?>
Вот код со созданием таблицы
spoilerrequire "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>