Warning avec foreach()

Résolu/Fermé
papouuu86 Messages postés 77 Date d'inscription mercredi 21 octobre 2009 Statut Membre Dernière intervention 4 novembre 2009 - 3 nov. 2009 à 10:26
papouuu86 Messages postés 77 Date d'inscription mercredi 21 octobre 2009 Statut Membre Dernière intervention 4 novembre 2009 - 3 nov. 2009 à 11:12
Bonjour,
alors mon soucis du jour lol

en fait quand j'ajoute un PREMIER article dans mon panier je tombe sur cette erreur:
Warning: Invalid argument supplied for foreach() in C:\wamp\www\site_RMG\panier2.php on line 41


ensuite aucun soucis je n'ai pas cet affichage d'erreur, il ne pose aucun problème pour les fonctionnalités du site mais ca fait pas terrible y a t'il moyen de cacher ca? ou de faire quelque chose pour ne pas que ca s'affiche quoi.


voici la partie de mon code où ca merdouille:

//on récupère les informations depuis le catalogue posté par methode "POST"
if(isset($_POST['reference'],$_POST['nom'],$_POST['prix'],$_POST['quantite']))
{			
	$ref=$_POST['reference'];
	$cadd=$monpanier->getBasket();
	$trouve=false;	
	foreach ($cadd as $art) 
	{		
		if (in_array($ref,$art)) // si la référence existe deja dans le panier
		{
			$trouve=true;  
			break;// des qu'un enregistrement equivalent est trouvé on arrete la boucle
		}
		
	}
	if ($trouve)// si un enregistrement est trouvé on interdit l'ajout
	{
		echo'<center><br/>votre article existe deja, veuillez utiliser les bouttons <img src="images/plus.jpg" alt="plus" title="plus"/> et <img src="images/moins.jpg" alt="moins" title="moins"/> pour ajuster la quantité désirée</center>';
	}
	else // sinon on ajoute l'article
	{
		$monpanier->addArticle(array('code'=>$_POST['reference'],'nom'=>$_POST['nom'],'prix'=>$_POST['prix'],'quantite'=>$_POST['quantite']));// on insere les valeurs dans le tableau "monpanier"
	}
}	

Merci d'avance ;)

1 réponse

papouuu86 Messages postés 77 Date d'inscription mercredi 21 octobre 2009 Statut Membre Dernière intervention 4 novembre 2009 11
3 nov. 2009 à 11:12
if(is_array($cadd))
	{
	foreach ($cadd as $art) 
	{		
		if (in_array($ref,$art)) // si la référence existe deja dans le panier
		{
			$trouve=true;  
			break;// des qu'un enregistrement equivalent est trouvé on arrete la boucle
		}		
	}
	}
	else
	{
		$cadd=array();
		foreach ($cadd as $art) 
	{		
		if (in_array($ref,$art)) // si la référence existe deja dans le panier
		{
			$trouve=true;  
			break;// des qu'un enregistrement equivalent est trouvé on arrete la boucle
		}		
	}
	}

fonctionne très bien pour les suivants qui auront le problème
0