Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 25-05-2009 17:23:32

gostbuster
Membre
Date d'inscription: 11-03-2009
Messages: 160

$_SESSION, plugIn et Bootstrap

Bonjour,

Je suis embété avec un petit problème, je vous explique brièvement :

Je développe un logiciel de gestion pour camping. J'aimerais n'avoir qu'a installer une seule fois mon application.

Chaque camping a ses fichiers de config propres (qui contiennent entre autre les informations du camping et les informations de la bd).

Mon application va être intégrée, ou du moins "reliée" à plusieurs sites de camping.

La question est la suivante :"comment savoir de quel camping je viens", question à laquelle je me suis répondu :

grâce aux $_session et aux variables post.

J'ai donc fait un plugIn qui va justement permettre de switcher entre les comtpes camping, et il s'avère que le tableau $_SESSION est vide.

D'ou ma question, est-ce que dans le pré dispatch, le tableau post est déjà initialisé ?


Merci.

voici mon plug in :

Code:

<?php
class MyPluginComptes extends Zend_Controller_Plugin_Abstract{
    /**
     * 
     * Ce plug in permet de gérer la multitude de comptes camping.
     * Selon le site référant qui appelle le site resaCamp, le plugIn charge les 
     * bonnes variables du compte :
     * les configs, 
     * la base de données.
     * 
     */
    
    
    
     public function preDispatch(Zend_Controller_Request_Abstract $request)
     {
Zend_Debug::dump($_SESSION);
         //si on recois une variable de type post
         if ($this->_request->isPost()) {
            //recuperation des infos du form
         $formData = $this->_request->getPost();
         if(isset($formData['compteCamping'])&&($formData['compteCamping']!=""))
         {
         $compte=$formData['compteCamping'];
         
         $_SESSION["compteCamping"]=$compte;
         $this->initConfig($compte);
         }    
     }
        //si la session est définie
         else if((isset($_SESSION["compteCamping"]))&&($_SESSION["compteCamping"]) )
         {
             
         $compte=$_SESSION["compteCamping"];
         $compte="localhost";
         $this->initConfig('localhost');
         }
         else
         {
             echo "tartempion";
             //$this->_response->setRedirect('http://www.google.fr');
         }
         
     
     
     
     }
     
     
     private function initConfig($compte)
     {
         //chargement du fichier de données
         
         $config = new Zend_Config_Ini( '/application/configs/'.$compte.'/config.ini','parametres');
     /**
 * Configuration du site
 * 
 */
        $registry = Zend_Registry::getInstance();
        $registry->set('config', $config);

        // Mise en place de la BDD
        try{
        $db = Zend_Db::factory($config->db);
        $db->getConnection();
        Zend_Db_Table::setDefaultAdapter($db);
        Zend_Registry::set('db', $db);
        }catch(Exception $e){
        exit($e->getMessage());
         $log->crit($e);
    
        }
         
     }

Gostbuster - Développeur WEB

Hors ligne

 

#2 27-05-2009 14:46:17

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: $_SESSION, plugIn et Bootstrap

Ta session est-elle bien démarré ?
Utilises-tu Zend_Session et Zend_Session_Namespace ? Car c'est préférable et cela reste en harmonie avec le ZF.

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