Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 17-02-2012 11:52:48

manuzed78
Membre
Date d'inscription: 13-12-2009
Messages: 86
Site web

[1.11][zend_Session] Ecriture variable tableau dans une session

Bonjour à tous,

Sachant que j'ai déja une session utilisateur qui gère ma connexion,
par exemple dans mes actions je commence par :

Code:

$connectedUser = Zend_Auth::getInstance()->getStorage()->read();  // Pour pouvoir lire l'id
        if ( empty( $connectedUser ) ) { // pour eviter d'afficher une erreur de BDD si pas connecté
            throw new Exception ( 'Veuillez vous connecter !' );
        } else {
            $id_service = $connectedUser['id_service'];
            $id_profil = $connectedUser['id_profil'];
        }

Ce qui me permet   d'afficher des element interessants en fonction de la personne connectée.
Tout fonctionne bien.

Par contre j'ai une variable tableau ($ids dans le code) à passer d'une action à une autre que je voudrai mettre dans une variable de session.

Voici [mon dernier essai] de code :

Code:

//////////////// Ecriture des id cochés dans une variable de session .///////////
            $auth_enregistrement = new Zend_Session_Namespace('auth_enregistrement');
            $auth_enregistrement = Zend_Auth::getInstance()->getStorage();
            $auth_enregistrement->write($ids);
            $enregistrement = Zend_Auth::getInstance()->getStorage()->read();
            $id_session=$test['enregistrement'];
            $this->view->id_session= $id_session;
            print_r($id_session);

Mais celui ci a deux effets : il m'efface ma session actuelle ( je ne vois plus le nom / prenom affichés sur chacune de mes pages) et de plus il ne m'écrit pas les données ou du moins je n'arrive pas à les récupérer...

Qu'ai je mal fait ?

Dernière modification par manuzed78 (17-02-2012 11:55:54)

Hors ligne

 

#2 18-02-2012 13:03:21

bakura
Administrateur
Date d'inscription: 30-01-2010
Messages: 353

Re: [1.11][zend_Session] Ecriture variable tableau dans une session

Salut,

C'est normal que les données de ta session actuelle soient effacées puisque tu récupères la session par défaut de Zend_Auth pour y remplacer le contenu. Ce que tu veux, j'imagine, c'est juste ajouter des valeurs en session, mais dans ton deuxième bout de code, cela n'a rien à voir avec Zend_Auth. Il te suffit juste de faire ça :

Code:

$auth_enregistrement = new Zend_Session_Namespace('auth_enregistrement');
$auth_enregistrement->mesID = $ids;

Hors ligne

 

#3 05-03-2012 17:20:59

manuzed78
Membre
Date d'inscription: 13-12-2009
Messages: 86
Site web

Re: [1.11][zend_Session] Ecriture variable tableau dans une session

Ha, merci Bakura pour ton aide.

J'enregistre bien mes données dans mon Zend_Session_Namespace('auth_enregistrement')
et je vérifie l'enregistrement avec un simple
// on lit la session
$this->view->session= $auth_enregistrement->ids;
qui m'affiche le tableau avec mes id big_smile

par contre quand je valide mon formulaire ( qui redirige vers la meme action), tout est perdu, je ne retrouve plus cette variable de session

comment puis je faire pour ne pas perdre ces données et qu'elles transitent ?

le  Zend_Session_Namespace est il vraiment une variable de session ???

Dernière modification par manuzed78 (05-03-2012 17:21:46)

Hors ligne

 

#4 07-03-2012 14:38:42

manuzed78
Membre
Date d'inscription: 13-12-2009
Messages: 86
Site web

Re: [1.11][zend_Session] Ecriture variable tableau dans une session

Pour info, dans mon Bootstrap.php j'ai juste mis ceci :

///////////////////////////////////////////// Zend session /////////////
    protected function _initSession() {
    Zend_Session::start();
    }

Mais je ne comprends toujours pas pourquoi cette variable de session perd ses valeurs des que je charge une page...

Hors ligne

 

#5 08-03-2012 11:13:46

manuzed78
Membre
Date d'inscription: 13-12-2009
Messages: 86
Site web

Re: [1.11][zend_Session] Ecriture variable tableau dans une session

Est ce que le fait d'utiliser Zend_Auth pourrait expliquer cet effacement de variable de session par le plus grand des hasards ???

Bah oui, je ne comprends pas alors je cherche partout big_smile

Hors ligne

 

#6 21-03-2012 10:29:24

souhiji
Nouveau membre
Date d'inscription: 14-12-2008
Messages: 4

Re: [1.11][zend_Session] Ecriture variable tableau dans une session

Salut manuzed78,
Je rencontre le même soucis que toi, aurais-tu trouvé une solution? Si oui voudrais tu bien la partager? Merci

Hors ligne

 

#7 02-04-2012 17:12:41

manuzed78
Membre
Date d'inscription: 13-12-2009
Messages: 86
Site web

Re: [1.11][zend_Session] Ecriture variable tableau dans une session

Bonjour Souhiji
désolé pour la réponse tardive mais je viens à peine de m'en sortir...
Bon je n'y ai pas passé mes nuits non plus ( quoi que )

En fait, si personne ne trouve de solution c'est qu'il n'y en a pas ! big_smile

je m'explique : le code tel que je le poste est BON
le code de Bakura est simple et parfaitement fonctionnel :

Code:

$auth_enregistrement = new Zend_Session_Namespace('auth_enregistrement');
$auth_enregistrement->mesID = $ids;

dans mon précedent post, l'erreur se situe ici :
"par contre quand je valide mon formulaire ( qui redirige vers la meme action), tout est perdu, je ne retrouve plus cette variable de session"
comme je redirigeais vers la meme action, j'écrivais un variable vide en session (en je réexécute l'écriture en variable de session) et hop, j'avais l'impression de tout perdre...

je viens de mettre un IF pour écrire dans ma variable de session uniquement si je viens de telle action et hop tout marche niquel...

C'etait un probleme de logique et non de session!

En espérant que cela puisse t'aider.

Dernière modification par manuzed78 (02-04-2012 17:14:06)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages