Помогите написать простой js или php код авторизации

                                <form action="php/auth.php" methof="post" class="user">
                                    <div class="form-group">
                                        <input type="email" class="form-control form-control-user"
                                            id="exampleInputEmail" name="login" id="login" aria-describedby="emailHelp"
                                            placeholder="Email">
                                    </div>
                                    <div class="form-group">
                                        <input type="password" class="form-control form-control-user"
                                            id="exampleInputPassword" id="pass" name="pass" placeholder="Пароль">
                                    </div>
                                    <div class="form-group">
                                        <div class="custom-control custom-checkbox small">
                                            <input type="checkbox" class="custom-control-input" id="customCheck">
                                            <label class="custom-control-label" for="customCheck">Запомнить меня</label>
                                        </div>
                                    </div>
                                    <button type="submit" class="btn btn-primary btn-user btn-block">
                                        Войти
                                    </button>

                                </form>

Есть такая вот простая форма входа. Можете написать php или js код, чтобы можно было входить со своим паролем. То есть создать две переменные логина и пароля, и сделать сравнение. Если логин и пароль совпадает, делает редирект на другую страницу. Если нет, просто обновляет эту страницу (редирект на эту же страницу) Так же было бы прикольно, если там были куки на 1 день, и возможность выйти с этой сессии.


Ответы (1 шт):

Автор решения: Semik

login.php

<?php
    $data = $_POST;
    if ( isset($data['do_login']) )
    {
    $user = R::findOne('users', 'login = ?', array($data['login']));
        if ( $user )
        {
            //логин существует
            if ( password_verify($data['password'], $user->password) )
            {
                //если пароль совпадает, то нужно авторизовать пользователя
                echo '<div style="color:green;">Вы успешно вошли в аккаунт!</br><a href="index.php" style="text-decoration:none;color:#0D6EFD;">Главаня страница</a></div>';
                $_SESSION['loggedin'] = true;
            }else
            {
                $errors[] = 'Неправильный пароль!';
            }

        }else
        {
            $errors[] = 'Не обнаружено пользователя с таким логином!';
        }
        
        if ( ! empty($errors) )
        {
            //выводим ошибки авторизации
            echo '<div id="errors" style="color:red;">' .array_shift($errors). '</div>';
        }

    }

?>

И немного измените форму:

<form action="login.php" method="post" class="p-3 mt-2" >
          <div class="form-group mt-3">
            <label for="InputEmail1">Логин:</label>
            <input name="login" type="text" class="form-control" id="exampleInputEmail1" placeholder="Логин">
          </div>
          <div class="form-group mt-3">
            <label for="InputPassword1">Пароль:</label>
            <input name="password" type="password" class="form-control" id="exampleInputPassword1" placeholder="Пароль">
          </div>
          <button name="do_login" type="submit" class="btn btn-primary mt-4 submit-btn">Отправить</button>
</form>
→ Ссылка