alert('Semua data wajib diisi!'); window.location='index.html';"; exit; } // Cek Format Email (Biar gak ngawur) if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { echo ""; exit; } // Cek Panjang Password (Minimal 6) if (strlen($password) < 6) { echo ""; exit; } // Cek Kesamaan Password if ($password !== $confirm) { echo ""; 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 ""; 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 ""; } 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; } ?>