PANIER : AJOUT/SUPPRESSION DE PRODUIT DANS UN CADDIE VIRTUEL

Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
- - Dernière réponse : Whismeril
Messages postés
14046
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 décembre 2019
- 18 mai 2018 à 08:09
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/26325-panier-ajout-suppression-de-produit-dans-un-caddie-virtuel

cs_jeca
Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
12 -
Bonjour,

S'il ne s'agit que d'incrémenter ou décrémenter une qté de produit dans un panier, tu aurais quand même pu faire plus simple :

<?php
session_start();

if (isset($_GET["prod"]))
{
switch ($_GET["sens"])
{
case "ajout" :
$_SESSION[$_GET["prod"]] ++;
break;
case "sup" :
$_SESSION[$_GET["prod"]] --;
//-- si la quantité < 1, le produit est supprimé du panier -----
if ($_SESSION[$_GET["prod"]] < 1)
unset($_SESSION[$_GET["prod"]]);
break;
}

//-- ces lignes ne servent à rien, simplement un affichage de controle ------
echo "contenu du panier
";
foreach($_SESSION as $cle => $valeur)
{
echo "produit $cle : $valeur
";
}
echo "<hr>
";
//---------------------------------------------------------------------------
}
?>
<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1">
</head>


[test.php?prod=ID1&sens=ajout Ajouter 1 produit ID1]


[test.php?prod=ID1&sens=sup Supprimer 1 produit ID1]



[test.php?prod=ID2&sens=ajout Ajouter 1 produit ID2]


[test.php?prod=ID2&sens=sup Supprimer 1 produit ID2]



[test.php?prod=ID3&sens=ajout Ajouter 1 produit ID3]


[test.php?prod=ID3&sens=sup Supprimer 1 produit ID3]



</html>
numarg
Messages postés
12
Date d'inscription
lundi 7 juin 2004
Statut
Membre
Dernière intervention
19 février 2006
-
Bonjour,
j'ai essayer les 2 versions et choisis finalement la deuxième pour la simplicité et l'ajout/suppression par contre j'ai un soucis dès que j'insère ma barre de menu (en include) j'obtiens ce message d'érreur :
"Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /www/data.users/com/g/a/jsp-mag.com/www/2006/commun/menu_haut.php:31) in /www/data.users/com/g/a/jsp-mag.com/www/2006/commandes/monPanier.php on line 2"
pourtant ma barre de menu contient du simple html (même si elle est enregistré en php) , si vous avez une idée ... merci !
Sinon tout est ok et simple c'est vraiment bien . Merci encore!
cs_jeca
Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
12 -
Bonjour,

session_start doit être la 1ère ligne de code, sans aucun espace ou autre avant.
L'include vient ensuite.
cs_mrfox
Messages postés
89
Date d'inscription
samedi 25 mai 2002
Statut
Membre
Dernière intervention
5 décembre 2009
-
Salut
Le code original est bien sympa car il conserve a l'affichage le contenu du panier, mais je ne parviens pas a trouver comment decrementer un produit de 1 :(

merci
numarg
Messages postés
12
Date d'inscription
lundi 7 juin 2004
Statut
Membre
Dernière intervention
19 février 2006
-
Salut,
merci le problème venait bien du positionnement de session_start, en fait je reprend sur un site existant et le session start existait déjà pour le log des inscrits ...
Sinon je ne connais pas bien les sessions, comment je peux récupérer les données pour ouvrir une page avec le détail de mon panier ?

Mrfox regarde le code de Jeca ça fonctionne très bien!

merci à tous et a+