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 :

reinitialisation d'une session a chaque changement de page


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 260
    Par défaut reinitialisation d'une session a chaque changement de page
    Bonjour,

    J'ai un problème avec les sessions que je n'arrive pas à résoudre, j'ai pourtant fait plein de test mais je ne comprend pas ce qu'il se passe, à chaque fois qu'on clique sur une autre page, le session se ferme.

    Donc la strcuture du site : j'utilise des frames (anim' flash oblige :/), dans l'une d'elle, j'ai mon code qui initialise les variables, et particulierement une instance de la classe Session, qui correspond à ce qui est stocker en session.

    J'appelle donc la fonction reload de la classe Session :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function reload($database) {
     
            	if( !$_SESSION['session'] ) {
            		// La session n'existe pas, il faut créer l'objet
    	        	$session = new Session();
    	        	$_SESSION['session'] = $session;
            	}
     
    			return $_SESSION['session'];
            }
    La première fois, il crée l'objet, normal vu qu'il n'existe pas, en revanche, dès que je change de page, $_SESSION['session'] est vide et donc il recrée encore un objet Session, qu'il réassigne à $_SESSION['session'].

    Pourtant si je fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($_SESSION['session']);
    à la dernière ligne d'execution du script, il m'affiche bien l'objet $session, mais si je le fait au début, la session est vide....

    Quelqu'un pourrait m'aider ?

  2. #2
    Membre émérite
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Par défaut
    Pour l'utilisation des sessions, je crois que dès que tu changes de page, il faut refaire en début de script php

    session_start();

    Et ce pour qu'il réactualise la session... 2 cas

    1) La session a déjà été initialisée avant --> session_start() remet à jour les variables de session

    2) La session n'a pas été créee --> session_start() la crée.

    En résumé, si tu utilise une seule session pour ton site... tu fais un session_start() a chaque début de page php.


    Extrait manuel PHP
    http://www.php.net/manual/fr/function.session-start.php

    ++
    JC

  3. #3
    Invité
    Invité(e)
    Par défaut
    A savoir..,

    Les objets doivent toujours être linéarisés avant d'être placés dans une session.

    http://www.php.net/serialize

    ... Et délinéarisés lorsqu'ils sont à nouveau utilisés :

    http://www.php.net/unserialize


    Bye

  4. #4
    Membre éprouvé
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 516
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 516
    Par défaut
    Citation Envoyé par Guardian_7
    A savoir..,

    Les objets doivent toujours être linéarisés avant d'être placés dans une session.

    http://www.php.net/serialize

    ... Et délinéarisés lorsqu'ils sont à nouveau utilisés :

    http://www.php.net/unserialize


    Bye
    Je crois qu'il faut le faire avant le session_start ou un truc comme je me rappelle plus trop mais il y a une subtilité dans ce domaine là.

Discussions similaires

  1. [XL-2007] Ajout d'une ligne a chaque changement de numero
    Par guigui69 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/04/2014, 00h56
  2. Exécuter une somme auto à chaque changement de valeur
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/04/2011, 12h16
  3. Réponses: 13
    Dernier message: 21/02/2011, 21h33
  4. [1.x] exécution d'une action a chaque changement de page
    Par Tiph13 dans le forum Symfony
    Réponses: 2
    Dernier message: 15/12/2010, 13h12
  5. Réponses: 8
    Dernier message: 25/05/2007, 16h06

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