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