Quote Originariamente inviata da Alhazred Visualizza il messaggio
Ogni volta che l'utente richiede un'operazione sul carrello scorri tutto l'array alla ricerca di un prodotto con tale id, se lo trovi lo modifichi, se non lo trovi lo aggiungi.
codice:
if(isset($_POST['IDprodotto'])&&isset($_POST['quantita']))
{
    $IDprod= $_POST['IDprodotto'];
    $qta= $_POST['quantita'];
    $IDNonPresente= false;
    
    if(isset($_COOKIE['acquisto'])) //se sono già presenti articoli nel carrello
    {
        $prodottiPHPnew = json_decode($_COOKIE['acquisto'], true);
        for ($row = 0; $row <count($prodottiPHPnew); $row++)
        {
            if ($IDprod == $prodottiPHPnew[$row]["IDprodotto"]) //se è già presente un prodotto nel carrello con lo stesso codice..
                //$IDgiapresente= true;
                $prodottiPHPnew[$row]["quantita"]+=$qta; //...vado solo a sommare le quantità
            
            else {
                $prodottiPHPnew[] = ['IDprodotto' => $IDprod, 'quantita' => $qta]; //a questo punto si blocca
            }
        }
        echo'array aggiornato<br>';
        print_r($prodottiPHPnew);


        // aggiorno l'array JSON
        $prodottiJS = json_encode($prodottiPHPnew);
        echo'<br><br>JSON aggiornato<br>';
        echo $prodottiJS; 
        setcookie("acquisto", $prodottiJS, time()+360000);
        header("location: infoprodotto_new.php");
    }
ho provato a fare in questo modo, fino a quando inserisco nel sempre lo stesso prodotto funziona bene.