"admin", "password" => "qwerty"); session_start(); $nothingInPost = true; //этот флаг указывает, пытается ли пользователь залогиниться (что-то есть в $_POST), или только зашел на страницу. $passwordInPostRight = false; //этот флаг указывает, правильный ли пароль и логин, если POST не пуст (пользователь пытается залогинится) $login = ""; //login из $_POST или пустая строка. Используется для заполнения поля ввода, что бы пользователю не приходилось опять вводить имя пользователя if (isset($_GET['logout']) and $_GET['logout'] == 'true'): $_SESSION['logged'] = false; //если пользователь нажал Выйти, то в мы сохраняем это в сессию endif; if (!isset($_SESSION['logged'])): $_SESSION['logged'] = $passwordInPostRight; //создаем ключ в сессии, если его нет endif; if (isset($_POST['login']) && isset($_POST['password'])): //попытка залогиниться $nothingInPost = false; //значит пользователь не только зашел $login = $_POST['login']; //сохраняем логин, он, возможно пригодится для поля ввода login if (($_POST['login'] == $credentials['login']) && ($_POST['password'] == $credentials['password'])): $passwordInPostRight = true; //если пароль правильный, то записываем это в $passwordInPostRight $_SESSION['loginTimes'][] = time(); //и сохраняем время логина в сесси endif; $_SESSION['logged'] = $passwordInPostRight; //отмечаем в сессии успешность логина endif; ?> php template hell sample
Your password are wrong!!!
Login:
Password:
Welcome
История логинов:
Выйти
 $nothingInPost, "passwordInPostRight" => $passwordInPostRight, "login" => $login)); 
                  print_r($_SESSION); 
                  print_r($_POST); 
                  print_r($_GET); 
                  //отладочный вывод для понимания
            ?>