простая форма авторизации php mysql

Авторизация пользователей является одним из важных функциональных элементов любого веб-сайта. В данной статье мы рассмотрим простую форму авторизации на PHP с использованием базы данных MySQL.

Для начала создадим таблицу в базе данных MySQL, где будем хранить информацию о пользователях. Пример структуры таблицы:

CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(255) NOT NULL
);

Далее создадим HTML-форму для авторизации:




Теперь создадим файл login.php, в котором будет происходить проверка данных пользователя и авторизация:

session_start();

$mysqli = new mysqli(‘localhost’, ‘username’, ‘password’, ‘database’);

if ($mysqli->connect_error) {
die(‘Connect Error (‘ . $mysqli->connect_errno . ‘) ‘ . $mysqli->connect_error);
}

$username = $_POST[‘username’];
$password = $_POST[‘password’];

$query = SELECT * FROM users WHERE username=’$username’ AND password=’$password’;
$result = $mysqli->query($query);

if ($result->num_rows == 1) {
$_SESSION[‘username’] = $username;
header(‘Location: dashboard.php’);
} else {
echo ‘Invalid username or password’;
}

$mysqli->close();
?>

В данном примере мы подключаемся к базе данных, проверяем данные пользователя и, в случае успешной авторизации, создаем сессию и перенаправляем пользователя на страницу dashboard.php. В противном случае выводим сообщение об ошибке.

Теперь создадим файл dashboard.php, который будет доступен только авторизованным пользователям:

session_start();

if (!isset($_SESSION[‘username’])) {
header(‘Location: login.php’);
exit();
}
?>




Dashboard

Welcome,

Logout

В данном файле мы проверяем наличие сессии пользователя. Если сессия не установлена, перенаправляем пользователя на страницу авторизации. В противном случае выводим приветственное сообщение и ссылку для выхода из системы.

Таким образом, мы создали простую форму авторизации на PHP с использованием базы данных MySQL. Этот пример можно доработать и расширить функционал для более сложных проектов. Важно помнить о безопасности данных и использовать защиту от SQL-инъекций и других уязвимостей.