Afegir productes al cistell des del cistell

De Wiki personal d'en Guillem Serrat
La revisió el 23:24, 30 des 2025 per Guseba (discussió | contribucions) (Es crea la pàgina amb «== Afegir productes al cistell des del cistell == L'objectiu d'aquesta operació és afegir una quantitat d'unitats d'un producte al cistell des del propi cistell Aquesta petició arriba per part del codi del catàleg i la seva acció és "afegirEnCistell". Aquesta operació ens fa arribar la ID del producte i la quantitat a afegir Primerament, haurem de verificar que la ID que ha arribat és vàlida i un nombre<pre> // Validar ID if (!isset($_POST['id'...».)
(dif.) ← Versió més antiga | Versió actual (dif.) | Versió més nova → (dif.)

Afegir productes al cistell des del cistell

L'objectiu d'aquesta operació és afegir una quantitat d'unitats d'un producte al cistell des del propi cistell

Aquesta petició arriba per part del codi del catàleg i la seva acció és "afegirEnCistell". Aquesta operació ens fa arribar la ID del producte i la quantitat a afegir

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

// 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, haurem de verificar la quantitat. Si és menor o igual a 0 enviarem un missatge d’error i retornarem l’usuari al catàleg, mostrant el missatge d’error

// Definir i validar quantitat de productes a afegir

       $quantitat = (int)$_POST['quantitat']; // Agafa la quantitat del producte
       if ($quantitat <= 0) { // En cas que sigui 0 o menor, no es processa la quantitat
           $_SESSION['missatge_error'] =
           "Quantitat no vàlida";
           header("Location: cistell.php");
           exit;
       }

Seguidament, recuperarem el nom del producte a partir de la sessió

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

I actualitzarem la quantitat. Sabem que si realitzem aquesta acció des del cistell és perquè el producte ja està al cistell, per tant ens podem estalviar totes les comprovacions i la possibilitat d'haver d'afegir de nou el producte al cistell

// Actualitzem la quantitat

       $_SESSION['cistell'][$id]['quantitat'] = $_SESSION['cistell'][$id]['quantitat'] + $quantitat; // Agafem la quantitat que hi ha al cistell i hi afegim la quantitat inserida

Per últim, únicament cal definir la variable del missatge dins de la sessió i redirigir l'usuari al cistell

$_SESSION['missatge_ok'] ="S'ha afegit $quantitat unitat(s) de $nom_prod al cistell."; header("Location: cistell.php"); exit;