Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/05/2006, 19h43   #1
Candidat au titre de Membre du Club
 
Inscription : février 2006
Messages : 30
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 30
Points : 10
Points : 10
Par défaut [Cookies] Stocker un tableau récursif dans un cookie

Bonjour tout le monde,

j'ai un petit souci avec un site de vente que je dois creer, je voudrais gerer le panier via les cookies. mais le souci c'est que je n'arrive pas a ajouter un element supplementaire dans un cookie.

je m'explique:

le client clique sur 'ajouter au panier', l'identifiant de l'article est alors stocké dans le cookie, ensuite la ou je bloque c'est que je voudrais que lorsqu'il rajoute un second article, le cookie prenne l'identifiant du premier article + celui du second. et ainsi de suite pour les suivants (1erID et 2ndID et 3emeID.....)

Si vous avez des idées de mise en oevre je suis preneur
moi j'ai pensé a faire un tableau mais je sais pas trop comment le faire concretement

En vous remmerciant
Nizarazu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 20h01   #2
Membre Expert
 
Avatar de Anduriel
 
Homme
Étudiant
Inscription : février 2004
Messages : 2 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 2 168
Points : 1 277
Points : 1 277
Moi je ferai comme ça:
Code :
1
2
3
4
5
6
7
1 - Je regarde si le cookie existe
2 - Si oui je récupère son contenu
   2.1 - J'ajoute à la variable le nouvel identifiant
   2.2 - Je recré le même cookie avec la nouvelle variable pour écraser l'ancien
3 - Sinon
   3.1 - Je créé le cookie avec le premier identifiant
   3.2 - Je renviens au 2)
Anduriel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 20h15   #3
Candidat au titre de Membre du Club
 
Inscription : février 2006
Messages : 30
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 30
Points : 10
Points : 10
oui, c'est justement à l'etape 2.1 que je bloque, je n'arrive pas a ajouter un nouvel enregistreement dans la variable existante et qui contient déjà des valeurs, du moins, je ne vois pas trop comment faire, en fait..
Nizarazu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 20h24   #4
Membre Expert
 
Avatar de Anduriel
 
Homme
Étudiant
Inscription : février 2004
Messages : 2 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 2 168
Points : 1 277
Points : 1 277
Moi je ferai:

Code :
1
2
3
4
5
6
7
8
9
if (isset($_COOKIE['ton_cookie'])) {
   $content = $_COOKIE['ton_cookie'];
   echo $content; // pour vérifier mais à enlever
   $content .= "-".$nouvelle_id; // le "-" c'est pour les séparer
   setcookie("ton_cookie", $content, time()+3600);  // expire dans une heure
}
else {
   setcookie("ton_cookie", $nouvelle_id, time()+3600);  // expire dans une heure
}
Anduriel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 20h25   #5
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
C'est possible d'utiliser un tableau dans les cookies ?
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 20h29   #6
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
J'ai ma réponse dans la doc ^^
Donc je ferais :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
<?php
setcookie("produits[12]", "1" );
setcookie("produits[13]", "3" );
setcookie("produits[18]", "1" );
 
// Après avoir rechargé la page :
if (isset($_COOKIE['produits'])) {
   foreach ($_COOKIE['produits'] as $id => $nb) {
       echo "$id : $nb <br />\n";
   }
}
?>
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 20h30   #7
Membre Expert
 
Avatar de Anduriel
 
Homme
Étudiant
Inscription : février 2004
Messages : 2 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 2 168
Points : 1 277
Points : 1 277
Bon je me tais ^^
Anduriel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 20h44   #8
Candidat au titre de Membre du Club
 
Inscription : février 2006
Messages : 30
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 30
Points : 10
Points : 10
euh dslé si ca vous parait une question bete mais ca correspond a quoi les 12,13 et 18 en ID pour le tableau produit.
Comment je pourrais faire ca en dynamique ?
Nizarazu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 20h56   #9
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Ben c'est l'id du produit. pour chaque id tu mets la quantité.
Imaginons que tu ais un petit plus dans le panier pour augmenter la quantité de 1 pour un produit d'id 34
Code :
1
2
 
<a href="?action=incrementer&id=34">+</a>
en php :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
<?php
 
if ($_GET['action'] == 'incrementer') {
   //On stocke sous forme de tableau
   $cookie = 'produits['. $_GET['id'] .']';  
 
   //On récupère l'ancienne quantité, à défaut c'est 0
   $nb = isset($_COOKIES[$cookie]) ? $_COOKIES[$cookie] : 0;
 
   //On stocke la nouvelle quantité
   setcookie('produits['. $id .']', $nb + 1);
}
 
?>
Pas testé, à adapter.
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h23.


 
 
 
 
Partenaires

Hébergement Web