Skip to content Skip to sidebar Skip to footer

Авторизация И Регистрация Php Pdo

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

Для начала необходимо создать базу данных, в которой будут храниться данные пользователей. Создадим таблицу users с полями id (INT, PRIMARY KEY, AUTO_INCREMENT), username (VARCHAR), email (VARCHAR), password (VARCHAR).

Подключимся к базе данных с помощью PDO и создадим класс User, в котором будем реализовывать методы для регистрации и авторизации пользователей.

«`php
class User {
private $db;

public function __construct(PDO $db) {
$this->db = $db;
}

public function register($username, $email, $password) {
$hash = password_hash($password, PASSWORD_DEFAULT);
$stmt = $this->db->prepare(INSERT INTO users (username, email, password) VALUES (:username, :email, :password));
$stmt->bindParam(‘:username’, $username);
$stmt->bindParam(‘:email’, $email);
$stmt->bindParam(‘:password’, $hash);
$stmt->execute();
}

public function login($email, $password) {
$stmt = $this->db->prepare(SELECT * FROM users WHERE email = :email);
$stmt->bindParam(‘:email’, $email);
$stmt->execute();
$user = $stmt->fetch();

if ($user && password_verify($password, $user[‘password’])) {
return $user;
} else {
return false;
}
}
}
?>
«`

Далее создадим файл index.php, в котором будет форма для регистрации и авторизации пользователей, а также обработка данных из формы.

«`php
require ‘db.php’;
require ‘User.php’;

$user = new User($db);

if ($_SERVER[‘REQUEST_METHOD’] == ‘POST’) {
if (isset($_POST[‘register’])) {
$user->register($_POST[‘username’], $_POST[’email’], $_POST[‘password’]);
} elseif (isset($_POST[‘login’])) {
$user = $user->login($_POST[’email’], $_POST[‘password’]);
if ($user) {
// Авторизация успешна
} else {
// Неверный логин или пароль
}
}
}
?>



Регистрация и авторизация

Регистрация





Авторизация






«`

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

Таким образом, использование PHP и PDO позволяет легко реализовать функции авторизации и регистрации пользователей в веб-приложениях.