<?php
// Bắt đầu phiên làm việc (Session)
session_start();
require_once 'includes/config.php';

// Kiểm tra xem dữ liệu có được gửi qua phương thức POST không
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    
    // Nhận và làm sạch dữ liệu đầu vào (Ngăn chặn XSS cơ bản)
    $email = trim($_POST['email'] ?? '');
    $mat_khau = $_POST['mat_khau'] ?? '';

    // Kiểm tra rỗng
    if (empty($email) || empty($mat_khau)) {
        die("<script>
                alert('Vui lòng nhập đầy đủ Email và Mật khẩu.');
                window.history.back();
             </script>");
    }

    try {
        // 1. Truy vấn CSDL để tìm người dùng theo Email
        // Sử dụng Prepared Statement để chống SQL Injection tuyệt đối
        $stmt = $pdo->prepare("SELECT id, ho_ten, email, mat_khau, vai_tro FROM thanh_vien WHERE email = ? LIMIT 1");
        $stmt->execute([$email]);
        $nguoi_dung = $stmt->fetch(PDO::FETCH_ASSOC);

        // 2. Kiểm tra tài khoản và xác thực mật khẩu
        // mat_khau trong CSDL phải được tạo ra từ hàm password_hash() trước đó
        if ($nguoi_dung && password_verify($mat_khau, $nguoi_dung['mat_khau'])) {
            
            // 3. Khởi tạo các biến Session quan trọng
            $_SESSION['id'] = $nguoi_dung['id'];
            $_SESSION['ho_ten'] = $nguoi_dung['ho_ten'];
            $_SESSION['vai_tro'] = $nguoi_dung['vai_tro'];
            
            // 4. Logic Bẻ ghi (Điều hướng phân quyền)
            switch ($nguoi_dung['vai_tro']) {
                case 'admin':
                    // Admin Tối cao: Chuyển về Dashboard tổng
                    header("Location: admin.php?trang=tong-quan");
                    exit;
                    
                case 'ca_nhan':
                    // Nghệ sĩ / Cá nhân: Chuyển về Hồ sơ (quản lý tiền, danh tiếng, affiliate)
                    header("Location: ho-so-ca-nhan.php");
                    exit;
                    
                case 'to_chuc':
                    // Trung tâm / Đối tác: Chuyển về cổng quản lý học viên
                    header("Location: quan-ly-trung-tam.php");
                    exit;
                    
                default:
                    // Trạng thái không xác định, xóa session và báo lỗi
                    session_destroy();
                    die("Vai trò tài khoản không hợp lệ. Vui lòng liên hệ quản trị viên.");
            }

        } else {
            // Đăng nhập thất bại (Sai email hoặc mật khẩu)
            // Thông báo chung chung để tránh bị dò quét tài khoản (Brute-force)
            echo "<script>
                    alert('Thông tin đăng nhập không chính xác. Vui lòng thử lại!');
                    window.history.back();
                  </script>";
        }

    } catch (PDOException $e) {
        // Log lỗi hệ thống (có thể ghi ra file log thay vì in ra màn hình ở môi trường thực tế)
        die("Hệ thống đang bảo trì, vui lòng quay lại sau. Lỗi: " . $e->getMessage());
    }

} else {
    // Chặn truy cập trực tiếp bằng URL (GET request)
    header("Location: dang-nhap.php");
    exit;
}
?>