yaleksandr89
7/2/2019 - 8:36 PM

Авторизация (через сессию или куки)

<?php
session_start();

//На странице куда мы попадаем после авторизации, есть кнопка выйти, по её выходу возвращаемся назад и грозаем статус авторизации (необходимо будет повторно авторизоваться)
if (isset($_SESSION['is_auth'])) {
    unset($_SESSION['is_auth']);
}

//Процесс авторизации
if (count($_POST) > 0) {
    if ($_POST['login'] == '111' && $_POST['pass'] == '222') {
        $_SESSION['is_auth'] = true;
        
        //Проверяем есть поставлена ли галочка у "Запомнить пароль" (делаем это после прохождения авторизации)
        if (isset($_POST['remember'])) {
            $cost = [
                'cost' => 5,
            ];
            $login = password_hash('111', PASSWORD_BCRYPT, $cost);
            $pass = password_hash('222', PASSWORD_BCRYPT, $cost);
            setcookie('login', $login, time() + 3600 * 24 * 7, '/');
            setcookie('pass', $pass, time() + 3600 * 24 * 7, '/');
        }
        header('Location: secret_page.php');
        exit();
    }
}
?>

//Форма авторизации
<form method="post">
    <label for="login">Логин</label><br>
    <input id="login" type="text" name="login"><br>
    <label for="pass">Пароль</label><br>
    <input id="pass" type="password" name="pass">
    <input type="checkbox" name="remember">Запомни<br><br>
    <input type="submit" value="Авторизоваться">
</form>