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

Zend Framework PHP Discussion :

Zend_Session, modification d'une session stockée en base


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 371
    Par défaut Zend_Session, modification d'une session stockée en base
    Bien le bonsoir,

    Je suis face à un cas que je ne comprends pas, je m'explique :
    Dans mon bootstrap je définis ma politique de gestion de session via un
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $saveHandler = new Zend_Session_SaveHandler_DbTable($config);
    		Zend_Session::setSaveHandler($saveHandler);

    puis je définis un plugin pour mon frontcontroller, ce plugin aura pour rôle de gérer un peu plus finement les sessions, j'indique donc ma logique de session dans sa fonction preDispatch :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public function preDispatch(Zend_Controller_Request_Abstract $request){    
    		$db =  Zend_Registry::get('db');
     
    		Zend_Session::start();	// unique session::start de tout mon code
    		$db->update("session",
    				array("modified" =>new Zend_Db_Expr('NOW()')),
    				"session_id = " . $db->quote(Zend_Session::getId()));
     
    		return;
    mais le update ne modifie aucun enregistrement alors que l'enregistrement pour la session est bien stocké en base. Dans un autre contexte le code du update est correctement exécuté, il est valide. Qu'est-ce que j'ai loupé ? Est-ce déconseillé de modifier la session en base dans un plugin ? ou juste après le session::start ?

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingenieur BI - Dev Web Senior
    Inscrit en
    Décembre 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingenieur BI - Dev Web Senior

    Informations forums :
    Inscription : Décembre 2009
    Messages : 118
    Par défaut
    Bonjour,

    Dans mon Boostrap j'ai ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    protected function _initAceess() {
     
            $this->bootstrap('db');
     
            // Session Config
            $config = array(
                'name' => 'session',
                'primary' => 'id',
                'modifiedColumn' => 'modified',
                'dataColumn' => 'data',
                'userIdColumn' => 'user_id',
                'lifetimeColumn' => 'lifetime'
            );
     
            Zend_Session::setSaveHandler(new Core_Session_SaveHandler_DbTable($config));
            Zend_Session::start();
     
            // Change default Zend Auth Storage default Namespace
            Zend_Auth::getInstance()->setStorage(new Zend_Auth_Storage_Session('Zend_Auth_Back'));
     
            if (Zend_Auth::getInstance()->hasIdentity()) {
                Zend_Registry::set('role', Zend_Auth::getInstance()->getIdentity()->getRole());
            } else {
                Zend_Registry::set('role', 'guest');
            }
        }
    Et ça marche bien, l'enregistrement se met a jour automatiquement

    Bonne chance.

Discussions similaires

  1. date de modification d'une donnée dans la base
    Par Lucator dans le forum Contribuez
    Réponses: 21
    Dernier message: 25/07/2014, 23h17
  2. modification d'une insertion dans la base
    Par smiles dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 01/04/2010, 00h56
  3. comment utiliser une couleur stockée en base?
    Par ladine35 dans le forum iReport
    Réponses: 0
    Dernier message: 10/07/2009, 11h26
  4. [MySQL] Afficher une image stocké en base données
    Par Blo0d4x3 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 19/06/2006, 17h02
  5. [Forms] Afficher une image stockée en base
    Par oramine dans le forum Forms
    Réponses: 12
    Dernier message: 01/02/2005, 14h14

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