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 :)