Commit da103b88 authored by Bovo Alan Davide's avatar Bovo Alan Davide
Browse files

add try catch handling

parent d26ff594
Loading
Loading
Loading
Loading
Loading
+44 −45
Original line number Diff line number Diff line
@@ -5,18 +5,14 @@ require_once 'config.php';
// Variabile per mostrare messaggi di feedback all'utente
$message = '';

try {
    // Gestione dell'eliminazione del voto tramite richiesta POST
    if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['delete_id'])) {
        $delete_id = intval($_POST['delete_id']); // Sicurezza: conversione in intero
    try {
        // Query parametrica per eliminare il voto selezionato
        $stmt = $pdo->prepare("DELETE FROM Voti WHERE id = :id");
        $stmt->execute(['id' => $delete_id]);
        $message = "<div class='alert alert-success' role='alert'>Voto eliminato con successo!</div>";
    } catch (PDOException $e) {
        // Gestione dell'errore in caso di problemi con il database
        $message = "<div class='alert alert-danger' role='alert'>Errore nell'eliminazione: " . $e->getMessage() . "</div>";
    }
    }

    // Gestione dell'inserimento di un nuovo voto tramite richiesta POST
@@ -26,15 +22,10 @@ if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['materia']) && isset($_

        // Validazione dei dati inseriti
        if (!empty($materia) && $voto >= 1 && $voto <= 10) {
        try {
            // Query parametrica per inserire il nuovo voto
            $stmt = $pdo->prepare("INSERT INTO Voti (materia, voto) VALUES (:materia, :voto)");
            $stmt->execute(['materia' => $materia, 'voto' => $voto]);
            $message = "<div class='alert alert-success' role='alert'>Voto inserito con successo!</div>";
        } catch (PDOException $e) {
            // Gestione dell'errore in caso di problemi con il database
            $message = "<div class='alert alert-danger' role='alert'>Errore nell'inserimento: " . $e->getMessage() . "</div>";
        }
        } else {
            // Messaggio di errore se i dati non sono validi
            $message = "<div class='alert alert-warning' role='alert'>Inserisci un voto valido (1-10) e il nome della materia.</div>";
@@ -69,6 +60,14 @@ if ($numeroVoti > 0) {
            $badgeClass = "bg-danger";
        }
    }
} catch (Exception $e) {
    // Stampa dettagliata dell'errore per debug
    echo '<div class="alert alert-danger" role="alert">';
    echo '<strong>Errore:</strong> ' . htmlspecialchars($e->getMessage()) . '<br>';
    echo '<pre>' . htmlspecialchars($e->getTraceAsString()) . '</pre>';
    echo '</div>';
    exit;
}
?>

<!DOCTYPE html>
+1 −1
Original line number Diff line number Diff line
USE 5h_bovo;

CREATE TABLE IF NOT EXISTS voti (
CREATE TABLE IF NOT EXISTS Voti (
    id INT AUTO_INCREMENT PRIMARY KEY,
    materia VARCHAR(255) NOT NULL,
    voto INT NOT NULL CHECK (voto >= 1 AND voto <= 10),