cancellare un elemento in un array memorizzato in una sessione

carloso16

Nuovo Utente
7 Dic 2006
10
0
0
Sono giorni che provo ma non riesco a trovare una soluzione
ho un array di questo tipo

la variabile elimina proviene da un form

e la recupero con $_POST
PHP:
$carrello[$_articolo]= array("_articolo"=>"$_articolo","_prodotto"=>"$_prodotto",
"_categoria"=>"$_categoria","_categoria1"=>"$_categoria1",
"_prezzoE"=>"$_prezzoE","_umisura"=>"$_umisura","_quantita"=>"$quanti","offerta"=>"$offerta");
        }
        
   $_SESSION['carrello'] = $carrello; 
    


}

if($elimina){
unset ($_SESSION('carrello'["$_articolo"]);  //non funziona
 
Ultima modifica di un moderatore:
PHP:
$carrello[$_articolo]= array("_articolo"=>"$_articolo","_prodotto"=>"$_prodotto",
"_categoria"=>"$_categoria","_categoria1"=>"$_categoria1",
"_prezzoE"=>"$_prezzoE","_umisura"=>"$_umisura","_quantita"=>"$quanti","offerta"=>"$offerta");
        }
        
   $_SESSION['carrello'] = $carrello; 
    
include("inc/variabili.inc");

}

if($elimina){
unset ($_SESSION('carrello'["$_articolo"]);  //non funziona
 
Ultima modifica di un moderatore:
ciao
prova a sciverla così
PHP:
unset ($_SESSION['carrello'][$_articolo]);

ciao nefyt: non avevo visto il tuo post
 
Ultima modifica:
Funziona tutto
dopo creo una tabella dove metto gli articoli e il tasto elimina

ma non riesco a cancellare
 
array(1) { [2016]=> array(8) { ["_articolo"]=> string(4) "2016" ["_prodotto"]=> string(22) "Amorphous AW-V60 6 Mt" ["_categoria"]=> string(5) "CANNE" ["_categoria1"]=> string(5) "DAIWA" ["_prezzoE"]=> string(6) "340.00" ["_umisura"]=> string(2) "pz" ["_quantita"]=> string(1) "1" ["offerta"]=> string(0) "" } }



var_dump dopo elimina
 
PHP:
array(1) { [2016]=> array(8) { ["_articolo"]=> string(4) "2016" ["_prodotto"]=> string(22) "Amorphous AW-V60 6 Mt" ["_categoria"]=> string(5) "CANNE" ["_categoria1"]=> string(5) "DAIWA" ["_prezzoE"]=> string(6) "340.00" ["_umisura"]=> string(2) "pz" ["_quantita"]=> string(1) "1" ["offerta"]=> string(0) "" } }


cosi si vede meglio
 
ciao
perchè dici che non funziona?
PHP:
<?php
session_start();
//$carrello[$_articolo]=array("_articolo"=>"$_articolo","_prodotto"=>"$_prodotto");//mi limito a solo una parte
$carrello['2016']=array("_articolo"=>"2016","_prodotto"=>"Amorphous AW-V60 6 Mt");
$carrello['2033']=array("_articolo"=>"2033","_prodotto"=>"pinco pallo 6 Mt");
$_SESSION['carrello'] = $carrello;
var_dump($_SESSION['carrello']);
echo "<br><br>";
$articolo="2016";
unset($_SESSION['carrello'][$articolo]);
var_dump($_SESSION['carrello']);
?>
e questo è l'output
array(2) { [2033]=> array(2) { ["_articolo"]=> string(4) "2033" ["_prodotto"]=> string(16) "pinco pallo 6 Mt" } [2016]=> array(2) { ["_articolo"]=> string(4) "2016" ["_prodotto"]=> string(21) "Amorphous AW-V60 6 Mt" } }

array(1) { [2033]=> array(2) { ["_articolo"]=> string(4) "2033" ["_prodotto"]=> string(16) "pinco pallo 6 Mt" } }
p.s.
mi sono limitato solo a due elementi, ma il principio è il medesimo
 
Hai ragione funziona avevo dimenticato di convertire $_articolo con $_POST
comunque grazie mi sei stato di aiuto
 

Discussioni simili