Salut,
en fait ton code n'est pas trop logique :)
tu lit un fichier, tu récupère des infos que tu met dans des variables de session, mais cest meme variables sont écrasé juste après par la lecture d'un second fichier !
Si j'ai bien compris tes fichiers contiennent ton catalogue ?
dans ce cas je te conseil de mettre dans ton fichier un tableau serialisé (
serialize ).
Pour l'affichage tu parcour le tableau avec foreach !
ex
- <?php
- foreach ($tab as $clef => $val) {
- echo '<a href="?produit=',$clef,'&&action=ajout">ajouter</a>';
- echo '';
- echo '<a href="?produit=',$clef,'&&action=del">supprimer</a>';
- }
- ?>
tu va te retrouver sur la même page avec deux variable $_GET (produit et action) donc en haut de cette page
- <?php
- if (isset ($_GET['action']) && isset ($_GET['produit']) ) {
- if ($_GET['action']=='ajout') {
- //ajout d'un produit pour cela on utilise une variable de session => panier qui est un tableau donc les index sont les index du tableaux catalogue (celui du fichier) et dont le contenu est le nombre produits)
- session_start();//si c'est pas deja fait
- if (array_key_exists($_SESSION['panier'],$produit )){
- //on a déja le produit dans le tableau, on ajoute 1
- $_SESSION['panier'][$_GET['produit']]++;
- }
- else {
- //le produit n'existe pas dans le tableau on l'ajout
- $_SESSSION['panier'][$_GET['produit']]=1;
- }
- }
- elseif ($_GET['action']=='del') {
- // suppression de l'article
- if (array_key_exists($_SESSION['panier'],$produit )){
- //deux solution on supprime tous ou on en enlève 1 :)
- // tous supprimer
- array_splice ($_SESSION['panier'], $_GET['produit'],1);
- // enlever un a la quantité
- $_SESSION['panier'][$_GET['produit']]--;
- //ajoute un test pour savoir si c'est ==0 dans ce cas tu delete le truc du panier (avec la ligne précédente :)
- }
- }
- }
- ?>
Voila un exemple plus ou moins simple :)
je te conseil d'aller regarder dans la doc l'utilisation des fonctions que tune connais pas :)
j'espère que tu n'est pas perdu :)