Eliminar productes: diferència entre les revisions

De Wiki personal d'en Guillem Serrat
Cap resum de modificació
Cap resum de modificació
 
(Hi ha una revisió intermèdia que no es mostren del mateix usuari)
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>
Línia 25: Línia 23:
</pre>
</pre>


== Codi sencer ==
== Codi complet ==
<pre>
<pre>
case 'eliminar':
case 'eliminar':

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;