connect_error) { ob_end_clean(); header('Content-Type: application/json'); error_log("Connessione al database fallita: " . $conn->connect_error); echo json_encode(['status' => 'error', 'message' => 'Connessione al database fallita: ' . $conn->connect_error]); exit; } // Gestione della risposta AJAX if ($_SERVER['REQUEST_METHOD'] !== 'POST' || !isset($_POST['update_expiry'])) { ob_end_clean(); header('Content-Type: application/json'); error_log("Richiesta non valida a update_expiry.php: metodo=" . $_SERVER['REQUEST_METHOD'] . ", update_expiry=" . (isset($_POST['update_expiry']) ? 'set' : 'not set')); echo json_encode(['status' => 'error', 'message' => 'Richiesta non valida']); exit; } // Verifica i parametri ricevuti $order_id = isset($_POST['order_id']) ? intval($_POST['order_id']) : 0; $new_expiry = isset($_POST['new_expiry']) ? $_POST['new_expiry'] : ''; // Log per debug error_log("Tentativo di aggiornamento AJAX - idorderbook: $order_id, new_expiry: $new_expiry"); // Controlla se idorderbook รจ valido if ($order_id <= 0) { ob_end_clean(); header('Content-Type: application/json'); error_log("idorderbook non valido o mancante: $order_id"); echo json_encode(['status' => 'error', 'message' => 'idorderbook non valido o mancante.']); exit; } // Verifica se l'idorderbook esiste $checkStmt = $conn->prepare("SELECT idorderbook FROM orderbook WHERE idorderbook = ?"); if (!$checkStmt) { ob_end_clean(); header('Content-Type: application/json'); error_log("Errore preparazione query SELECT: " . $conn->error); echo json_encode(['status' => 'error', 'message' => 'Errore preparazione query: ' . $conn->error]); exit; } $checkStmt->bind_param("i", $order_id); $checkStmt->execute(); $checkResult = $checkStmt->get_result(); if ($checkResult->num_rows === 0) { ob_end_clean(); header('Content-Type: application/json'); error_log("idorderbook $order_id non trovato nel database."); echo json_encode(['status' => 'error', 'message' => 'idorderbook non trovato nel database.']); $checkStmt->close(); exit; } $checkStmt->close(); // Esegui l'aggiornamento $stmt = $conn->prepare("UPDATE orderbook SET expireon = ? WHERE idorderbook = ?"); if (!$stmt) { ob_end_clean(); header('Content-Type: application/json'); error_log("Errore preparazione query UPDATE: " . $conn->error); echo json_encode(['status' => 'error', 'message' => 'Errore preparazione query UPDATE: ' . $conn->error]); exit; } $stmt->bind_param("si", $new_expiry, $order_id); $response = []; if ($stmt->execute()) { if ($stmt->affected_rows > 0) { $response['status'] = 'success'; $response['message'] = 'Data di scadenza aggiornata con successo!'; } else { $response['status'] = 'error'; $response['message'] = 'Nessuna riga aggiornata. Verifica l\'idorderbook.'; error_log("Nessuna riga aggiornata per idorderbook: $order_id"); } } else { $response['status'] = 'error'; $response['message'] = 'Errore SQL: ' . $stmt->error; error_log("Errore SQL: " . $stmt->error); } $stmt->close(); ob_end_clean(); header('Content-Type: application/json'); echo json_encode($response); exit;