Salve a tutti
sono giorni che sto cercando di capire come risolvere, ma non credo che ce la farò...
in pratica sto facendo un semplice carrello, in cui l'utente, dopo aver fatto le proprie scelte, può visualizzare gli ordini in una pagina cart.php.
Tutto parte da una pagina shop.php dove, grazie a un file flash, l'utente può "combinare" il proprio articolo; dopo la scelta, c'è una pagina di riepilogo yourchoice.php in cui l'utente può vedere le scelte compiute e infine c'è questo cart.php (il carrello vero e proprio). Non esistono articoli diversi con diversi id, ma un unico articolo che può essere modificato a piacere in diversi parametri:
il disegno, il colore, l'alieno e la quantità.
Ora per i primi 3 non ci sono problemi, riesco a far passare tutto con il $_POST. Anche la quantità passa tranquillamente con il POST, il problema si pone quando devo aggiornare la quantità stessa.

Faccio un esempio pratico:
l'articolo "1" scelto ha:
disegno A, alieno B, colore Bianco, quantità 2;

l'articolo "2" scelto ha:
disegno B, alieno B, colore Bianco, quantità 2; (<---in questo caso è ok perchè va a posizionarsi correttamente dopo l'articolo "1" grazie al ciclo);

l'articolo "3" scelto ha:
disegno A, alieno B, colore Bianco, quantità 3; (<---identico all'articolo "1" ma con una diversa quantità, che ora dovrebbe andare a sommarsi a quella dell'articolo "1")

Il problema è che non ho id, quindi avevo pensato una cosa tipo:
if (colore, alieno e disgeno della SESSION = colore, alieno e disegno del POST) {incrementa quantità dell'articolo già esistente}

ma non so come farlo praticamente.

il file in questione (cart.php) è questo:


<?php
session_start();
function Carrello($designScelto,$alienScelto,$coloreScelto, $quantity){
if (count($_SESSION['carrello']) > 0){
$temp=array('designScelto'=>$designScelto,'alienSc elto'=>$alienScelto,'coloreScelto'=>$coloreScelto, 'quantity'=>$quantity);
array_push($_SESSION['carrello'],$temp);
} else {
$_SESSION['carrello'][0]=array('designScelto'=>$designScelto,'alienScelto' =>$alienScelto,'coloreScelto'=>$coloreScelto,'quan tity'=>$quantity);
}
}
Carrello("$designScelto","$alienScelto","$coloreSc elto","$quantity");
print_r($_SESSION);
echo '
';

if(isset($_SESSION["carrello"])){
$posizione=count($_SESSION["carrello"]);
echo "posizione: $posizione</br>";
}


for($i = 0; $i<=$posizione; $i++)


{
echo $i;
echo $_SESSION['carrello'][$i]['designScelto'];
echo $_SESSION['carrello'][$i]['alienScelto'];
echo $_SESSION['carrello'][$i]['coloreScelto'];
echo $_SESSION['carrello'][$i]['quantity'];
echo '
';

}
?>

grazie mille!