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;
}