Eliminar productes

De Wiki personal d'en Guillem Serrat
La revisió el 02:04, 12 gen 2026 per Guseba (discussió | contribucions)
(dif.) ← Versió més antiga | Versió actual (dif.) | Versió més nova → (dif.)

Eliminar un producte del cistell

L'objectiu d'aquesta operació és eliminar el producte indicat del cistell

Aquesta petició arriba per part del codi del cistell i la seva acció és "eliminar". Aquesta operació únicament ens fa arribar un paràmetre: la ID del producte a eliminar

Primerament, haurem de verificar que la ID que ha arribat és vàlida i un nombre

case 'eliminar':
    // Validar ID
    if (!isset($_POST['id']) || !is_numeric($_POST['id'])) { // Verifiquem que el producte té una ID i que és numèrica
        $_SESSION['missatge_error'] =
        "ID de producte no vàlid";
        header("Location: cistell.php");
        exit;
    }

    $id = (int)$_POST['id']; // Assignem la ID del producte a una variable verificant que és INT

Seguidament recuperarem el nom del producte a partir de la sessió per poder mostrar-lo al missatge d'èxit

$nom_prod = $_SESSION['cistell'][$id]['nom']; // Obtenim el nom del producte (pel missatge de confirmació)

A continuació, a partir de la ID proporcionada, eliminarem l'objecte que identifica la ID de la sessió, és a dir, eliminarem el producte del cistell

unset($_SESSION['cistell'][$id]); // S'elimina el producte del cistell

Per últim, definirem el missatge d'èxit dins de la sessió i redirigirem a l'usuari al cistell

$_SESSION['missatge_ok'] = "S'ha eliminat el producte $nom_prod del cistell."; // S'envia el missatge header("Location: cistell.php"); exit;

Codi complet

case 'eliminar':
        // Validar ID
        if (!isset($_POST['id']) || !is_numeric($_POST['id'])) { // Verifiquem que el producte té una ID i que és numèrica
            $_SESSION['missatge_error'] =
            "ID de producte no vàlid";
            header("Location: cistell.php");
            exit;
        }

        $id = (int)$_POST['id']; // Assignem la ID del producte a una variable verificant que és INT
        
        $nom_prod = $_SESSION['cistell'][$id]['nom']; // Obtenim el nom del producte (pel missatge de confirmació)

        unset($_SESSION['cistell'][$id]); // S'elimina el producte del cistell

        $_SESSION['missatge_ok'] = "S'ha eliminat el producte $nom_prod del cistell."; // S'envia el missatge
        header("Location: cistell.php");
        exit;