<?php
// Bắt đầu session
session_start();

// Kiểm tra cookie nếu có
if (isset($_COOKIE['remember_user']) && !isset($_SESSION['user_id'])) {
    // Giải mã thông tin từ cookie
    $cookie_data = json_decode(base64_decode($_COOKIE['remember_user']), true);
    
    if (isset($cookie_data['user_id']) && isset($cookie_data['username'])) {
        // Thiết lập session từ cookie
        $_SESSION['user_id'] = $cookie_data['user_id'];
        $_SESSION['username'] = $cookie_data['username'];
        
        // Chuyển hướng đến trang chính
        header("Location: moneyup/index.php");
        exit();
    }
}

// Kiểm tra nếu người dùng đã đăng nhập, chuyển hướng đến trang chính
if (isset($_SESSION['user_id'])) {
    header("Location: moneyup/index.php");
    exit();
}

// Kết nối database
require_once 'config.php';

// Biến lưu thông báo lỗi
$error = '';

// Xử lý form đăng nhập khi submit
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $username = $_POST['username'];
    $password = $_POST['password'];
    $remember = isset($_POST['remember']) ? true : false;
    
    // Kiểm tra nếu username hoặc password trống
    if (empty($username) || empty($password)) {
        $error = "Vui lòng nhập đầy đủ tên đăng nhập và mật khẩu";
    } else {
        // Truy vấn database để kiểm tra thông tin đăng nhập
        $sql = "SELECT id, username, password FROM users WHERE username = ?";
        $stmt = $conn->prepare($sql);
        $stmt->bind_param("s", $username);
        $stmt->execute();
        $result = $stmt->get_result();
        
        if ($result->num_rows == 1) {
            $user = $result->fetch_assoc();
            
            // Xác thực mật khẩu
            if (password_verify($password, $user['password'])) {
                // Mật khẩu đúng, tạo session
                $_SESSION['user_id'] = $user['id'];
                $_SESSION['username'] = $user['username'];
                
                // Nếu người dùng chọn "Ghi nhớ đăng nhập"
                if ($remember) {
                    // Tạo dữ liệu cookie
                    $cookie_data = [
                        'user_id' => $user['id'],
                        'username' => $user['username']
                    ];
                    
                    // Mã hóa và lưu cookie (thời hạn 30 ngày)
                    setcookie(
                        'remember_user', 
                        base64_encode(json_encode($cookie_data)), 
                        time() + 30 * 24 * 60 * 60, 
                        '/'
                    );
                }
                
                // Chuyển hướng đến trang chính
                header("Location: moneyup/index.php");
                exit();
            } else {
                $error = "Mật khẩu không đúng";
            }
        } else {
            $error = "Tên đăng nhập không tồn tại";
        }
        
        $stmt->close();
    }
}
?>

<!DOCTYPE html>
<html lang="vi">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Đăng nhập - Quản lý tài khoản mạng xã hội</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
    <style>
        body {
            background-color: #f8f9fa;
            padding-top: 50px;
        }
        .login-form {
            width: 100%;
            max-width: 400px;
            padding: 15px;
            margin: 0 auto;
            background-color: #fff;
            border-radius: 5px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        }
        .login-form h2 {
            margin-bottom: 30px;
            text-align: center;
        }
        .form-group {
            margin-bottom: 20px;
        }
        .btn-login {
            width: 100%;
            padding: 10px;
            font-size: 16px;
        }
        .error-message {
            color: #dc3545;
            margin-bottom: 15px;
            text-align: center;
        }
        .icon-container {
            text-align: center;
            margin-bottom: 20px;
        }
        .icon-container img {
            max-width: 80px;
        }
        .form-check {
            margin-bottom: 15px;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="login-form">
            <div class="icon-container">
                <img src="icon.png" alt="Logo">
            </div>
            <h2>Đăng nhập</h2>
            <?php if (!empty($error)): ?>
                <div class="error-message"><?php echo $error; ?></div>
            <?php endif; ?>
            
            <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
                <div class="form-group">
                    <label for="username">Tên đăng nhập</label>
                    <input type="text" class="form-control" id="username" name="username" required>
                </div>
                <div class="form-group">
                    <label for="password">Mật khẩu</label>
                    <input type="password" class="form-control" id="password" name="password" required>
                </div>
                <div class="form-group form-check">
                    <input type="checkbox" class="form-check-input" id="remember" name="remember" checked>
                    <label class="form-check-label" for="remember">Ghi nhớ đăng nhập</label>
                </div>
                <button type="submit" class="btn btn-primary btn-login">Đăng nhập</button>
            </form>
        </div>
    </div>

    <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
</body>
</html>
