IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Perte de session à chaque page, chaque refresh


Sujet :

Langage PHP

  1. #1
    tio
    tio est déconnecté
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 46
    Points : 44
    Points
    44
    Par défaut Perte de session à chaque page, chaque refresh
    Bonsoir à tous.
    Voici mon problème.
    J'ai une page shop.php qui débute par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?session_start();
    	include "code_const.php";
    	include "code_print.php";
    	include "code_queries.php";
    	include "code_metier.php";
    	include "class_produit_cart.php";
    	include "class_cart.php";
    Je travaille ensuite sur des variables de session de cette manière en utilisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	if(!isset($_SESSION["Panier"]))
    	{
    		$_SESSION["Panier"] =& new Cart();
    	}
    ou Cart est une classe définie dans "class_cart.php"
    Il se trouve que $_SESSION["Panier"] est réinitialisé à chaque refresh de la page et que le repertoire \tmp a un fichier session de plus a chaque refresh...
    Je ne comprends plus.
    Je fais bien session_start() au debut de chaque page..
    Je precise que j'utilise easyphp en local.
    Merci de votre aide.

  2. #2
    Membre éprouvé Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Points : 1 009
    Points
    1 009
    Par défaut
    C'est plutôt bizarre en effet. Sinon c'est bien raisonable d'instancier une classe dans une variable de session ?
    Consultant idéaliste.

  3. #3
    tio
    tio est déconnecté
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 46
    Points : 44
    Points
    44
    Par défaut
    Salut.
    Pour etre bizarre... lol.
    Ou est le probleme d'instancier ma classe en session ?
    C'est mon objet Panier, et je ne veux pas le stocker en bdd.
    Pour info, meme une variable toute bete, incrémentée à chaque fois en haut de ma page perd sa valeur...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 29
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    Peut être que tu devrais conserver ton objet entre sessions grâce à ces fonctions :

    serialize()
    unserialize()

    La fonction serialize transforme ton objet en une sorte de variable unique (un peu comme implode pour un tableau)
    Et la fonction unserialize transforme ta variable en l'objet d'origine (un peu comme explode).

    Donc ce que tu devras faire ca pour faire passer ton objet en session :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if(!isset($_SESSION['Panier'])){
    $objet = new Cart();
    }
    else
    {
    $objet = unserialize($_SESSION['Panier']);
    }
    /* ton code */
    $_SESSION['Panier'] = serialize($objet);
    Enfin c'est une idée, je ne suis pas sur de moi.

    Bon courage!

  5. #5
    Membre éprouvé Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Points : 1 009
    Points
    1 009
    Par défaut
    A moins que ce soit l'instanciation par référence ? En tout cas il y a un truc qui me gène mais je n'arrive pas à mettre le doigt dessus.

    C'est quoi ta version de PHP ? En PHP5 il y a des fonctions magiques : __sleep et __wakeup

    http://fr2.php.net/manual/fr/language.oop.magic-functions.php
    Consultant idéaliste.

  6. #6
    tio
    tio est déconnecté
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 46
    Points : 44
    Points
    44
    Par défaut
    Me voici de retour après un bon repas..
    J'ai enlevé temporairement mes classes.
    J'essaie d'incrementer simplement une variable à chaque tour, ça ne marche pas.
    Je suis en php 4.3.10 (easyphp)

  7. #7
    tio
    tio est déconnecté
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 46
    Points : 44
    Points
    44
    Par défaut
    Oh purée.
    C'était un param par défaut de php qui ne transmettait pas les sessions de page en page.....
    Merci de votre aide. Désolé du dérangement. A charge de revanche.

  8. #8
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 100
    Points : 64
    Points
    64
    Par défaut
    c t koi le param par defaut qui ne transmettait pas les sessions ?
    ca se trouve dans php.ini ?
    "Un peu d'huile, de la viande, du broco et j'obtiens un bon BoeufBrocoli !"

  9. #9
    tio
    tio est déconnecté
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 46
    Points : 44
    Points
    44
    Par défaut
    Salut.
    session.use_trans_sid devait être a OFF, je 'lai mis à ON.
    C'est probablement dans php.ini oui.
    J'espere que ca t'aidera.
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 12
    Dernier message: 05/04/2011, 16h54
  2. Variable de session, ou define à chaque chargement de page ?
    Par ChriGoLioNaDor dans le forum Langage
    Réponses: 3
    Dernier message: 06/01/2010, 18h09
  3. Session recrée à chaque page jsp
    Par cefabien dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 25/11/2006, 16h21
  4. Réponses: 3
    Dernier message: 01/08/2006, 13h42
  5. [Cookies] Chaque page démarre une nouvelle session
    Par Invité dans le forum Langage
    Réponses: 3
    Dernier message: 21/01/2006, 21h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo