getConnection(); $idserviceschedule = isset($_GET['idserviceschedule']) ? (int) $_GET['idserviceschedule'] : 0; if ($idserviceschedule <= 0) { header('Location: adminpanel.php?error=invalid'); exit; } try { $pdo->beginTransaction(); // 1) Rimuove le prenotazioni collegate a questa schedulazione $delBookings = $pdo->prepare( "DELETE FROM bookingclass WHERE idserviceschedule = :id" ); $delBookings->execute([':id' => $idserviceschedule]); // 2) Rimuove la schedulazione stessa $delSchedule = $pdo->prepare( "DELETE FROM serviceschedule WHERE idserviceschedule = :id" ); $delSchedule->execute([':id' => $idserviceschedule]); $pdo->commit(); header('Location: adminpanel.php?success=4'); exit; } catch (Throwable $ex) { if ($pdo->inTransaction()) { $pdo->rollBack(); } // Log server-side, messaggio generico all'utente error_log('removeschedule error: ' . $ex->getMessage()); header('Location: adminpanel.php?error=delete'); exit; }