View file test.4imas.ru/ajax/cart_remove.php

File size: 1.54Kb
<?php

session_start();
require '../config/bootstrap.php';

error_reporting(E_ALL);
ini_set('display_errors', 1);

header('Content-Type: application/json');

if (!is_logged_in()) {
    echo json_encode(['success' => false, 'error' => 'Необходимо войти в систему']);
    exit;
}

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    echo json_encode(['success' => false, 'error' => 'Метод не поддерживается']);
    exit;
}

$csrf = $_POST['csrf'] ?? '';
$item_id = $_POST['item_id'] ?? '';

error_log('Cart remove request: item_id=' . $item_id);
error_log('CSRF token: ' . $csrf);
error_log('Session CSRF: ' . ($_SESSION['csrf_token'] ?? 'none'));

if (empty($csrf) || !check_csrf($csrf)) {
    echo json_encode([
        'success' => false, 
        'error' => 'Неверный CSRF токен',
        'debug' => [
            'received' => $csrf,
            'expected' => $_SESSION['csrf_token'] ?? 'none'
        ]
    ]);
    exit;
}

if (empty($item_id)) {
    echo json_encode(['success' => false, 'error' => 'Не указан товар']);
    exit;
}

if (isset($_SESSION['cart'][$item_id])) {
    unset($_SESSION['cart'][$item_id]);
    echo json_encode([
        'success' => true, 
        'message' => 'Товар удален из корзины',
        'cart_count' => count($_SESSION['cart']),
        'cart_items' => $_SESSION['cart']
    ]);
} else {
    echo json_encode(['success' => false, 'error' => 'Товар не найден в корзине']);
}
?>