Eliminar productes: diferència entre les revisions

De Wiki personal d'en Guillem Serrat
Es crea la pàgina amb «== 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<pre> case 'eliminar': // Validar ID if (!isset($_POST['id']) || !is_nume...».
 
Cap resum de modificació
Línia 23: Línia 23:
header("Location: cistell.php");
header("Location: cistell.php");
exit;
exit;
</pre>
== Codi sencer ==
<pre>
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;
</pre>
</pre>

Revisió del 23:00, 30 des 2025

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 sencer

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;