Конечно! Давайте разберёмся, как написать простой код на PHP для создания формы логина с полями для ввода логина и пароля, а также добавлением кнопки выхода после успешной авторизации.
- Создайте файл
login.php:
<?php
session_start();
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// Предположим, что логин и пароль - это 'user' и 'pass'
$login = 'user';
$password = 'pass';
// Проверка введенных данных
if ($_POST['username'] == $login && $_POST['password'] == $password) {
$_SESSION['loggedin'] = true; // Устанавливаем сессию при успешном входе
} else {
echo "Неправильный логин или пароль.";
}
}
// Выход из системы
if (isset($_GET['logout'])) {
session_destroy(); // Удаляем сессию
header("Location: login.php"); // Перенаправляем на страницу логина
exit();
}
?>
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Форма логина</title>
</head>
<body>
<?php if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true): ?>
<form method="post">
<label for="username">Логин:</label>
<input type="text" name="username" required>
<br>
<label for="password">Пароль:</label>
<input type="password" name="password" required>
<br>
<button type="submit">Войти</button>
</form>
<?php else: ?>
<h1>Добро пожаловать!</h1>
<a href="?logout=true">Выход</a>
<?php endif; ?>
</body>
</html>
- Объяснение кода:
- Мы используем
session_start(), чтобы начать сессию, которая позволит нам отслеживать пользователя после входа. - Если метод запроса
POST, мы проверяем введенные логин и пароль. Если они совпадают, мы устанавливаем переменную сессииloggedinвtrue. - Если пользователь уже вошел в систему, мы выводим сообщение приветствия и кнопку для выхода.
- При нажатии на кнопку выхода (
Выход), мы уничтожаем сессию и перенаправляем пользователя обратно на страницу логина.
- Мы используем
Этот код представляет собой базовый пример, который вы можете адаптировать для ваших потребностей. Если у вас возникнут дополнительные вопросы или потребуется помощь с другими аспектами PHP, не стесняйтесь спрашивать!