Panier virtuel - Modification de la quantité

Fermé
Aeyrin Messages postés 70 Date d'inscription vendredi 11 avril 2008 Statut Membre Dernière intervention 27 mai 2014 - 24 oct. 2012 à 10:11
Aeyrin Messages postés 70 Date d'inscription vendredi 11 avril 2008 Statut Membre Dernière intervention 27 mai 2014 - 24 oct. 2012 à 15:30
Bonjour,

je programme un site de vente en ligne. J'ai un panier virtuel qui fonctionne pas trop mal sauf pour la modification de quantité.
Mon action n'est pas prise en compte. Ma fonction m'a l'air a peu près correcte mais comme l'action ne démarre pas, je n'arrive même pas jusqu'à ma fonction.
Si quelqu'un a une idée de ce qui ne va pas, svp.

Le bouton :
<a href='panier.php?action=refresh'>Rafraichir</a>


Le switch avec l'action :
switch($action){
Case "refresh" : 
	for ($i=0; $i<count($q); $i++){ 
		modifQteArt($_SESSION['panier']['ref_prod'][$i],round($q[$i]),$i);
	}
break;
Default:
break;
}


Et la fonction :
function modifQteArt($ref_prod,$qte,$positionProduit){ 
	//Si la quantité est positive on modifie sinon on supprime l'article
	if ($qte>0){ 
		//Recherche du produit dans le panier
		if ($positionProduit !== false){
				$_SESSION['panier']['qte'][$positionProduit] = $qte;
		}
	} 
	else if ($qte==0){ 
		supprim_article($ref_prod);
	}
}			


Il bloque sur le for dans le switch

A voir également:

2 réponses

bg62 Messages postés 23655 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 16 novembre 2024 2 386
24 oct. 2012 à 11:59
je programme un site de vente en ligne.

ou j'utilise un cms ???
0
Aeyrin Messages postés 70 Date d'inscription vendredi 11 avril 2008 Statut Membre Dernière intervention 27 mai 2014 2
24 oct. 2012 à 13:00
je fais partie (bien ou mal je ne sais) de ceux qui sont anti cms
0
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 150
24 oct. 2012 à 13:06
"Je programme un site" <> "J'utilise un cms"

XD
0
Aeyrin Messages postés 70 Date d'inscription vendredi 11 avril 2008 Statut Membre Dernière intervention 27 mai 2014 2
24 oct. 2012 à 13:15
ok j'essaierai de mieux m'exprimer la prochaine fois
0
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 150
24 oct. 2012 à 12:08
Salut,
je comprend pas pourquoi tu appelles la fonction refresh seulement quand l'utilisateur le demande. Pourquoi ne pas l'appeler à chaque reload ?

<a href='panier.php#'>Rafraichir</a>

Pour la suite,

je suppose que tu récupères ta variable $_GET['action'] et que tu la sécurise avant de la réutiliser.

Tu définis la valeur de ta variable $i dans ta boucle ? Boucle infini ?

$i=0
for ($i<count($q); $i++){
modifQteArt($_SESSION['panier']['ref_prod'][$i],round($q[$i]),$i);

ça fait un moment que j'ai pas toucher à php donc reprend moi si je me trompe mais pk faire une double condition ici ?

function modifQteArt($ref_prod,$qte,$positionProduit){

if ($qte!=0 && $positionProduit != false)
{
$_SESSION['panier']['qte'][$positionProduit] = $qte;
}

else
{
supprim_article($ref_prod);
}
}

Cordialement
0
Aeyrin Messages postés 70 Date d'inscription vendredi 11 avril 2008 Statut Membre Dernière intervention 27 mai 2014 2
24 oct. 2012 à 13:08
salut et merci pour la réponse.
je n'appelle pas la fonction refresh et chaque reload parce qu'il est bloqué, sinon la quantité augmente (c'est pas terrible ms j'ai pas trouvé de moyen de bloquer pour l'instant).
pour le for si je l'enlève, il va dans la fonction le problème c'est qu'il va à la suppression
0
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 150
24 oct. 2012 à 13:11
Pour le for, j'aurai mieux fait de me taire, le code était bon, j'ai confondu avec la while >_< no comment..

Corrige l'erreur de syntaxt juste, ça devrai déja aller mieux :)
if ($positionProduit !== false)
par
if ($positionProduit != false)
0
Aeyrin Messages postés 70 Date d'inscription vendredi 11 avril 2008 Statut Membre Dernière intervention 27 mai 2014 2
24 oct. 2012 à 13:13
ça c'est déjà fait, je l'ai vu en relisant mais ça ne change rien puisque qu'il n'arrive pas jusqu'a la fonction (j'ai testé avec des echo il s'arrete juste avant le for).
0
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 150
24 oct. 2012 à 13:53
pas de message d'erreur ?
0
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 150
24 oct. 2012 à 14:25
Que contient $q ?
0