begin process at 2012 05 31 19:17:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Variable de session qui disparait


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Variable de session qui disparait

dimanche 1 février 2009 à 10:58:06 | Variable de session qui disparait

ov3rdoze

Membre Club
Bonjour à tous.

Je souhaiterais ajouter un système de panier sur un site. J'ai donc fait une classe panier aui à priori fonctionne.
A l'arrivée sur le site, j'instancie cette classe, puis serialise l'instance dans $_SESSION['p'].

J'utilise XmlHttpRequest pour qu'à tout moment l'utilisateur puisse afficher le nombre de produits dans son panier : j'appelle un fichier qui récupère le contenu de $_SESSION['p'], le déserialise et en affiche le nombre de produits. Tout ceci semble fonctionner. Quand j'ajoute un produit au panier, puis que je fais afficher le nombre de produits, c'est OK.

Cependant, si je change de page, le panier "se vide". On dirait que $_SESSION['p'] disparait.

A l'arrivée sur le site :
 session_start();
require "ressources/web/panier_class.php";
 $caddie = new Panier();
 $p   = serialize ($caddie);
 session_register ($p);

Ajout d'un produit au panier :
 session_start();
 require "panier_class.php";
 $caddie = unserialize ($_SESSION['p']);
 $caddie->ajouter ($_POST['$id'], $_POST['qte']);
 $_SESSION['p'] = serialize ($caddie);

Affichage du nombre de produits :
 session_start();
 require "panier_class.php";
 $caddie = unserialize ($_SESSION['p']);
 $tmp  = $caddie->quantite ("");
 if ($tmp) 
  if ($tmp > 1) echo "Votre panier contient<br />".$tmp." articles";
  else echo "Votre panier contient<br />1 article"; 
 else echo "Votre panier est vide";
 $_SESSION['p'] = serialize($caddie);

Pour résumer : A chaque fois que je fais afficher le nombre de produits, ce nombre est récupéré dans ma variable de session, donc celle-ci existe bien. Alors pourquoi disparait-elle quand je change de page?

Quelqu'un aurait une idée?
Merci d'avance
dimanche 1 février 2009 à 11:06:20 | Re : Variable de session qui disparait

ov3rdoze

Membre Club
Réponse acceptée !
Comme quoi ça aide d'exprimer son problème

A chaque changement de page, une nouvelle instance de panier était créée et écrasait l'ancienne.

Solution (dans le cas improbable où ça arriverait à d'autres) :
 if (!isset ($_SESSION['p'])) {
     $caddie = new Panier();
     $p   = serialize ($caddie);
     session_register ($p);
 
     $_SESSION['p'] = serialize ($caddie);
 }


Cette discussion est classée dans : nombre, session, caddie, panier, produits


Répondre à ce message

Sujets en rapport avec ce message

panier session [ par chevaliero ] Bonjour à tous,J'ai réalisé un carnet (caddie) de voyage pour récuperer 2 informations : ID - NOM.Cela fonctionne impeccable en local.Par contre en tr Probleme petit caddie [ par rafou77 ] Bonjour,Je suis très débutant et je n'y connais rien en session, j'ai récupèré ce code que j'ai un peu modifier à ma façon.le probleme est que j'aimer PFE [ par samia22 ] bonsoir a tous, j'ai une probleme lors de l'ajout des produits au pannier.. le client doit s'authentifier avant d'ajouter des produits mais ca ne mar Probleme de session [ par pam006 ] Bonjour, Je désirerai créer un panier virtuel en php 5. J'ai trouver un super tuto : http://jcrozier.developpez.com/articles/web/panier/ Sauf que, q incohérence serveur local et distant [ par garudra ] Bonjour et bonnes fêtes! je construis une boutique en ligne, mon panier fonctionne parfaitement en local, et pas du tout sur le site distant.Quelles fermer une session [ par joujma5 ] bonjour j'ai un problème avec les sessions en faite j'ai deux session une session panier et une autre pour le client,une fois j'ai commandé un produit supprimer une valeure d'une session [ par emialpina ] Bonjour, J’essai de mettre en place un panier et je coince depuis plusieurs jours. J’ai mis en place un bouton ajouter avec le choix de la quantité et php formulaire calcul total [ par helenez ] Bonjour, je suis en train de travailler sur un formulaire, j'ai cette ligne de code qui me me donne le nombre de produits que les internautes peuvent Envoyer le contenu d'un panier php par mail [ par odogp1 ] Bonsoir à tous, avant d'apprendre le php je devrais apprendre le francais... Veuillez m'éscuser pour les fautes !!! je vous présente mon problème : peit soucis avec foreach [ par stella2809 ] Bonjour Sur un panier virtuel je rencontre un probleme de selection du mon foreach je suppose : [code=php] session_start(); $_SESSION['panier_lock


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,108 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales