Ciao a tutti,
nel mio carrello, usando le sessioni, faccio un controllo se il prodotto è già stato inserito allora non me lo deve reinserire.
Per farlo utilizzo la funzione "addtocart" per aggiungere nel carrello il prodotto e la funzione "product_exists" per verificare che esista quel prodotto con riferimento "PID".
Il mio problema è questo, ok non mi deve inserire lo stesso prodotto (quindi con lo stesso PID) due volte nel carrello, ma se il prodotto ha lo stesso PID ma taglia o colore diverso allora deve aggiungermelo, e qui mi pianto, ho provato in tutti i modi a modificare la "product_exists" ma proprio non ci salto fuori.
Avete qualche idea ?
Grazie.
codice:function addtocart($pid,$q,$taglia,$colore){ $q=1; if($pid<1 or $q<1) return; if(is_array($_SESSION['cart'])){ if(product_exists($pid)) return; $max=count($_SESSION['cart']); $_SESSION['cart'][$max]['productid']=$pid; $_SESSION['cart'][$max]['qty']=$q; $_SESSION['cart'][$max]['tgy']=$taglia; $_SESSION['cart'][$max]['cuy']=$colore; $_SESSION['cart'][$max]['cod']=$codice; } else{ $_SESSION['cart']=array(); $_SESSION['cart'][0]['productid']=$pid; $_SESSION['cart'][0]['qty']=$q; $_SESSION['cart'][0]['tgy']=$taglia; $_SESSION['cart'][0]['cuy']=$colore; $_SESSION['cart'][0]['cod']=$codice; } } function product_exists($pid){ $pid=intval($pid); $max=count($_SESSION['cart']); $flag=0; for($i=0;$i<$max;$i++){ if($pid==$_SESSION['cart'][$i]['productid']){ $flag=1; break; } } return $flag; }

Rispondi quotando