Panier virtuel - Modification de la quantité

Aeyrin Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   -  
Aeyrin Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   -
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 23734 Date d'inscription   Statut Modérateur Dernière intervention   2 409
 
je programme un site de vente en ligne.

ou j'utilise un cms ???
0
Aeyrin Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   2
 
je fais partie (bien ou mal je ne sais) de ceux qui sont anti cms
0
Exileur Messages postés 1475 Date d'inscription   Statut Membre Dernière intervention   150
 
"Je programme un site" <> "J'utilise un cms"

XD
0
Aeyrin Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   2
 
ok j'essaierai de mieux m'exprimer la prochaine fois
0
Exileur Messages postés 1475 Date d'inscription   Statut Membre Dernière intervention   150
 
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   Statut Membre Dernière intervention   2
 
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   Statut Membre Dernière intervention   150
 
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   Statut Membre Dernière intervention   2
 
ç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   Statut Membre Dernière intervention   150
 
pas de message d'erreur ?
0
Exileur Messages postés 1475 Date d'inscription   Statut Membre Dernière intervention   150
 
Que contient $q ?
0