Проверка входа пользователя
Как проверить если пользователь авторизовался то перекинуть на index.php если нет то перекинуть на signin.php index.php
Таким образом нахожу пользователя из бд в signin.php
<?
$data = $_POST;
$errors = array();
$user = R::findOne('users', 'login = ?', array($data['login']));
if($user)
{
if(password_verify($data['password'], $user->password))
{
$_SESSION['logged_user'] = $user;
echo '<div style="color: green;">Succesful</div>';
}else{
$errors[] = 'Wrong Password';
}
}else{
$errors[] = "Didnt Find this login";
}
if(!empty($errors))
{
echo '<div style="color: red;">'.array_shift($errors).'</div>';
}
?>
так выглядит код на index.php который показывает ник пользователя
<? if(isset($_SESSION['logged_user']) ): ?>
<? else:?>
<? endif;?>
<div class="top_panel">
<?
if($_SESSION['logged_user']->privilege == 'admin')
{
echo '<a href="createnewaccount.php" class="_admin_create">Create account</a>';
}
?>
<p class="name"><? echo $_SESSION['logged_user']->login; ?></p>
<a href="logout.php" class="sign_out">Exit</a>
<p class="privilege"><? echo $_SESSION['logged_user']->privilege?></p>
</div>
Ответы (1 шт):
Автор решения: jimwia
→ Ссылка
Если я правильно понял, что вам нужно, то вот. Нашел как пример авторизацию из своего дипломника. Работает мб и не очень защищёно, но то, что вам нужно здесь найти сможете.
if (isset($_POST['username']) && isset($_POST['password'])){
$username = $_POST['username'];
$password = $_POST['password'];
$query = "SELECT * FROM users WHERE username = '$username' and password = '$password'";
$result = mysqli_query($connection, $query) or die(mysqli_error($connection));
$count = mysqli_num_rows($result);
$isAdmin = mysqli_fetch_assoc($result);
if ($count == 1 && $isAdmin['admin'] == 1){
$_SESSION['username'] = $username;
header('Location: adminPanel.php');
}
elseif ($count == 1){
$_SESSION['username'] = $username;
header('location: index.php');
}
else{
$_SESSION['msg'] = "Данные введены неверно.";
}
}
Логично, что данные мы берём из формы авторизации.