Обновленный код для регистрации (regist.php)
<?php
require_once 'connect.php';
// Проверяем, отправлена ли форма
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$email = trim($_POST['email']);
$password = trim($_POST['password']);
// Валидация email
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
die("Неверный формат email.");
}
// Проверка уникальности email
$stmt = $conn->prepare("SELECT * FROM users WHERE email = ?");
$stmt->bind_param("s", $email);
$stmt->execute();
$result = $stmt->get_result();
if ($result->num_rows > 0) {
die("Пользователь с таким email уже зарегистрирован.");
}
// Хеширование пароля
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
// Вставка нового пользователя в базу данных
$stmt = $conn->prepare("INSERT INTO users (email, password) VALUES (?, ?)");
$stmt->bind_param("ss", $email, $hashed_password);
if ($stmt->execute()) {
echo "Регистрация успешна!";
// Отправка подтверждения по email (псевдокод, требует настройки SMTP)
$to = $email;
$subject = "Подтверждение регистрации";
$message = "Спасибо за регистрацию! Пожалуйста, подтвердите ваш email.";
mail($to, $subject, $message);
} else {
echo "Ошибка регистрации: " . $stmt->error;
}
$stmt->close();
}
?>
Обновленный код для авторизации (login.php)
<?php
session_start();
require_once 'connect.php';
// Проверяем, отправлена ли форма
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$email = trim($_POST['email']);
$password = trim($_POST['password']);
// Проверка существования пользователя
$stmt = $conn->prepare("SELECT * FROM users WHERE email = ?");
$stmt->bind_param("s", $email);
$stmt->execute();
$result = $stmt->get_result();
if ($result->num_rows === 1) {
$user = $result->fetch_assoc();
// Проверка пароля
if (password_verify($password, $user['password'])) {
$_SESSION['user_id'] = $user['id']; // Устанавливаем сессию
echo "Авторизация успешна!";
} else {
echo "Неверный пароль.";
}
} else {
echo "Пользователь не найден.";
}
$stmt->close();
}
?>