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ó
 
(Hi ha 2 revisions intermèdies 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
    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</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ó)
</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>
unset($_SESSION['cistell'][$id]); // S'elimina el producte del cistell
</pre>Per últim, definirem el missatge d'èxit dins de la sessió i redirigirem a l'usuari al cistell<pre>
$_SESSION['missatge_ok'] = "S'ha eliminat el producte $nom_prod del cistell."; // S'envia el missatge
header("Location: cistell.php");
exit;
</pre>
 
== Codi complet ==
<pre>
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
Línia 15: Línia 35:


         $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>
       
$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>
 
unset($_SESSION['cistell'][$id]); // S'elimina el producte del cistell
        unset($_SESSION['cistell'][$id]); // S'elimina el producte del cistell
</pre>Per últim, definirem el missatge d'èxit dins de la sessió i redirigirem a l'usuari al cistell<pre>
 
$_SESSION['missatge_ok'] = "S'ha eliminat el producte $nom_prod del cistell."; // S'envia el missatge
        $_SESSION['missatge_ok'] = "S'ha eliminat el producte $nom_prod del cistell."; // S'envia el missatge
header("Location: cistell.php");
        header("Location: cistell.php");
exit;
        exit;
</pre>
</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;