Eliminar productes: diferència entre les revisions

De Wiki personal d'en Guillem Serrat
Cap resum de modificació
 
Línia 4: Línia 4:
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
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>
Primerament, haurem de verificar que la ID que ha arribat és vàlida i un nombre<pre>case 'eliminar':
    case 'eliminar':
    // Validar ID
        // Validar ID
    if (!isset($_POST['id']) || !is_numeric($_POST['id'])) { // Verifiquem que el producte té una ID i que és numèrica
        if (!isset($_POST['id']) || !is_numeric($_POST['id'])) { // Verifiquem que el producte té una ID i que és numèrica
        $_SESSION['missatge_error'] =
            $_SESSION['missatge_error'] =
        "ID de producte no vàlid";
            "ID de producte no vàlid";
        header("Location: cistell.php");
            header("Location: cistell.php");
        exit;
            exit;
    }
        }


        $id = (int)$_POST['id']; // Assignem la ID del producte a una variable verificant que és INT
    $id = (int)$_POST['id']; // Assignem la ID del producte a una variable verificant que és INT</pre>Seguidament recuperarem el nom del producte a partir de la sessió per poder mostrar-lo al missatge d'èxit<pre>
</pre>Seguidament recuperarem el nom del producte a partir de la sessió per poder mostrar-lo al missatge d'èxit<pre>
$nom_prod = $_SESSION['cistell'][$id]['nom']; // Obtenim el nom del producte (pel missatge de confirmació)
$nom_prod = $_SESSION['cistell'][$id]['nom']; // Obtenim el nom del producte (pel missatge de confirmació)
</pre>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<pre>
</pre>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<pre>

Revisió de 02:04, 12 gen 2026

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;