Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
986 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  bug que je ne trouve pas sur mon panier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

bug que je ne trouve pas sur mon panier

n°1872383
hppp
Serveur@home
Posté le 12-04-2009 à 22:14:17  profilanswer
 

salut a tous
 
Je suis en trains de coder une boutique et j'ai un petit problème avec le panier et le suppression d'un article.
 
Quand j'ai plus d'un article dans le panier la suppression se fait bien, mais quand je veux supprimer le dernier article qu'il reste dans le panier il ne se supprime pas.
Voilà donc mon code, si vous avez une idée du problème car je dois avoir trop la tête dedans car je ne trouve pas le problème. Merci
 
Mon code:

Code :
  1. .....
  2. else
  3. {
  4. $erreur=false;
  5. if(in_array( $_POST['action'],array('ajout', 'suppression', 'refresh', 'vider')))
  6.   $action = $_POST['action'];
  7. else
  8.   $erreur=true;
  9. $id_produit = intval($_POST['id_produit']);
  10. $nom = preg_replace('#\v#', '', $_POST['nom']);
  11. $quantite = intval($_POST['quantite']);
  12. $prix = floatval($_POST['prix']);
  13. }
  14. }
  15. if ($erreur==false)
  16. {
  17. switch($action)
  18. {
  19.   Case "ajout":
  20.   ajouterArticle($id_produit,$nom,$quantite,$prix);
  21.   break;
  22.   Case "suppression":
  23.   supprimerArticle($id_produit);
  24.   break;
  25.  
  26.   Case "vider":
  27.   unset($_SESSION['panier']);
  28.   break;
  29.   Case "refresh" :
  30.   for ($i = 0 ; $i < count($quantite) ; $i++)
  31.   {
  32.     modifierQTeArticle($_SESSION['panier']['libelleProduit'][$i],round($quantite[$i]));
  33.   }
  34.   break;
  35.   Default:
  36.   break;
  37.      
  38. }
  39. .....


 
ma fonction supprimerArticle($id_produit):

Code :
  1. function supprimerArticle($libelleProduit)
  2. {
  3. if (creationPanier())
  4. {
  5.   $tmp=array();
  6.   $tmp['libelleProduit'] = array();
  7.   $tmp['nomProduit'] = array();
  8.   $tmp['qteProduit'] = array();     
  9.   $tmp['prixProduit'] = array();
  10.      
  11.   for($i = 0; $i < count($_SESSION['panier']['libelleProduit']); $i++)
  12.   {
  13.    if ($_SESSION['panier']['libelleProduit'][$i] !== $libelleProduit)
  14.    {
  15.     array_push( $tmp['libelleProduit'],$_SESSION['panier']['libelleProduit'][$i]);
  16.     array_push( $tmp['nomProduit'],$_SESSION['panier']['nomProduit'][$i]);
  17.     array_push( $tmp['qteProduit'],$_SESSION['panier']['qteProduit'][$i]);
  18.     array_push( $tmp['prixProduit'],$_SESSION['panier']['prixProduit'][$i]);
  19.    }
  20.      
  21.   }


Message édité par hppp le 12-04-2009 à 22:14:31
mood
Publicité
Posté le 12-04-2009 à 22:14:17  profilanswer
 

n°1872857
macgawel
Posté le 14-04-2009 à 16:04:20  profilanswer
 

A priori le problème vient de ta fonction supprimerArticle.
 
Le plus simple, dans un premier temps, c'est d'afficher les valeurs utilisées (ou d'utiliser un outil pour déboguer) :
Mettre des echo $mavariable; et des var_dump($monarray) régulièrement, pour voir ce qui cloche...
 
Sinon :
-  Tu appelles supprimerArticle($id_produit);, mais tu définis ta function supprimerArticle($libelleProduit)
Essaye de conserver des noms parlants et cohérents. Ta fonction travaille sur l'ID ou sur le libellé ?
 
- J'ai du mal à comprendre la logique de la fonction supprimerArticle.
Ce ne serait pas plus simple de constriuire ton tableau $_SESSION['panier'] de cette manière :
$_SESSION['panier'][$i]['libelleProduit']
Du coup, tu n'aurais qu'à faire un unset($_SESSION['panier'][$i]) pour supprimer l'article correspondant...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  bug que je ne trouve pas sur mon panier

 

Sujets relatifs
probleme modelisation panierbatch qui trouve un sid puis l'intègre dans une clé de registre
Panier en PHPQuestion bête. Mais je n'ai pas trouvé
trouve pas de fichier alors que le fichier est dedans??mon programme ne trouve pas la classe
[C] Erreur que je trouve pas :Dtrier un tableau qui se trouve sur une autre feuille
récupération du nom de la colonne où se trouve le résultat[ASM] ne trouve pas nasmW dans larchive
Plus de sujets relatifs à : bug que je ne trouve pas sur mon panier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR