<?php
session_start(); // ¡ESTA LÍNEA ES LA QUE FALTABA!
require_once 'config.php';

$response = [
    'success' => false,
    'creditos_restantes' => 0
];

if (isset($_SESSION['user_id'])) {
    try {
        $pdo->beginTransaction();

        $stmt_check = $pdo->prepare("SELECT creditos FROM usuarios WHERE id = ? FOR UPDATE");
        $stmt_check->execute([$_SESSION['user_id']]);
        $creditos_actuales = (int)$stmt_check->fetchColumn();

        if ($creditos_actuales >= COSTO_POSTER) {
            $nuevos_creditos = $creditos_actuales - COSTO_POSTER;
            $stmt_spend = $pdo->prepare("UPDATE usuarios SET creditos = ? WHERE id = ?");
            $stmt_spend->execute([$nuevos_creditos, $_SESSION['user_id']]);
            
            $pdo->commit(); 
            
            $response['success'] = true;
            $response['creditos_restantes'] = $nuevos_creditos;
        } else {
            $pdo->rollBack(); 
            $response['creditos_restantes'] = $creditos_actuales;
        }

    } catch (PDOException $e) {
        $pdo->rollBack(); 
    }
}
// Si no hay user_id, la respuesta 'success' se queda en 'false'

header('Content-Type: application/json');
echo json_encode($response);
exit();
?>