yogibook_aury_new/public/update_expiry.php
2025-10-15 20:59:49 +02:00

104 lines
3.7 KiB
PHP

<?php
// Assicurati che non ci siano spazi o righe vuote prima di questo punto
ob_start(); // Avvia il buffer di output
// Abilita debug per registrare errori
ini_set('display_errors', 0); // Non mostrare errori sullo schermo
ini_set('log_errors', 1);
ini_set('error_log', 'php_errors.log'); // Specifica il file di log
error_reporting(E_ALL);
require_once('include/headscript.php');
// Creazione della connessione
$conn = new mysqli($servername, $username, $password, $dbname);
// Verifica della connessione
if ($conn->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;