<?php
session_start();
require_once "Config.php"; 

// ==========================================
// BAGIAN 1: LOGIKA REGISTER
// ==========================================
if (isset($_POST['btn-register'])) {
    
    $username = $_POST['username'];
    $email    = $_POST['email'];
    $password = $_POST['password'];
    // Pastikan di HTML name-nya sudah 'confirm_password'
    $confirm  = $_POST['confirm_password']; 

    // --- 1. VALIDASI DATA ---

    // Cek Kosong
    if (empty($username) || empty($email) || empty($password) || empty($confirm)) {
        echo "<script>alert('Semua data wajib diisi!'); window.location='index.html';</script>";
        exit;
    }

    // Cek Format Email (Biar gak ngawur)
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        echo "<script>alert('Format email tidak valid! (contoh: nama@email.com)'); window.location='index.html';</script>";
        exit;
    }

    // Cek Panjang Password (Minimal 6)
    if (strlen($password) < 6) {
        echo "<script>alert('Password terlalu pendek! Minimal 6 karakter.'); window.location='index.html';</script>";
        exit;
    }

    // Cek Kesamaan Password
    if ($password !== $confirm) {
        echo "<script>alert('Password dan Konfirmasi tidak cocok!'); window.location='index.html';</script>";
        exit;
    }

    // --- 2. CEK DUPLIKAT DI DATABASE ---
    $stmt = mysqli_prepare($conn, "SELECT id FROM users WHERE username = ? OR email = ?");
    mysqli_stmt_bind_param($stmt, "ss", $username, $email);
    mysqli_stmt_execute($stmt);
    mysqli_stmt_store_result($stmt);

    if (mysqli_stmt_num_rows($stmt) > 0) {
        echo "<script>alert('Username atau Email sudah terpakai! Ganti yang lain.'); window.location='index.html';</script>";
        exit;
    }
    mysqli_stmt_close($stmt);

    // --- 3. SIMPAN DATA ---
    $hashed_password = password_hash($password, PASSWORD_DEFAULT);
    $stmtInsert = mysqli_prepare($conn, "INSERT INTO users (username, email, password) VALUES (?, ?, ?)");
    mysqli_stmt_bind_param($stmtInsert, "sss", $username, $email, $hashed_password);

    if (mysqli_stmt_execute($stmtInsert)) {
        echo "<script>alert('Registrasi Berhasil! Silakan Login.'); window.location='index.html';</script>";
    } else {
        echo "Error: " . mysqli_error($conn);
    }
    mysqli_stmt_close($stmtInsert);

} 

// ==========================================
// BAGIAN 2: LOGIKA LOGIN
// ==========================================
else if (isset($_POST['btn-login'])) {
    
    $username = $_POST['username'];
    $password = $_POST['password'];

    $stmt = mysqli_prepare($conn, "SELECT * FROM users WHERE username=?");
    mysqli_stmt_bind_param($stmt, "s", $username);
    mysqli_stmt_execute($stmt);

    $result = mysqli_stmt_get_result($stmt);
    $row = mysqli_fetch_assoc($result);

    // JIKA GAGAL
    if (!$row || !password_verify($password, $row['password'])) {
        // Kirim sinyal error ke HTML (Kotak Merah)
        header("Location: index.html?error=gagal");
        exit;
    }

    // JIKA SUKSES
    $_SESSION['username'] = $row['username'];
    $_SESSION['login'] = true; 

    header("Location: mainboard.html");
    exit;
}
?>