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

Autres composants PHP Discussion :

Utilisation de Zend_Layout


Sujet :

Autres composants PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de erehcab
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 215
    Par défaut Utilisation de Zend_Layout
    Bonjour à tous,

    J'affiche dans mon layout un formulaire de connexion définit dans mon controlleur auth / login. Pour l'instant je l'ai mis en place via l'aide d'action action(). Le formulaire s'affiche bien mais je remarque que les propriétés attribuées au formulaire (setAction, setMethod) dans la méthode loginControlleur() ne sont pas attribuées.
    Lorsque je me rends sur la vue login.phtml ces même propriétés sont bien attribuées.

    Je ne comprends donc pas pourquoi ça ne fonctionne dans le layout.

  2. #2
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Salut,

    Fait voir ton code action + vue

  3. #3
    Membre confirmé Avatar de erehcab
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 215
    Par défaut
    Salut Manuscle,

    Le code action :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    $dbAdapter = $this->_getParam('db');
     
                    $form = new Application_Form_Auth();
                    $form->setAction($this->view->link('login', 'auth'))
                    	 ->setMethod('POST')
                    	 ->setView(new Zend_View);
     
                    if ($_SERVER['REQUEST_METHOD'] == "POST" && $this->_request->isPost() && $form->isValid($_POST)) 
                    {
            	        $authAdapter = new Zend_Auth_Adapter_DbTable(
    							$dbAdapter,
                                'utilisateur',
                                'login',
                                'password',
                                'MD5(?)'
    					);
     
            	        $authAdapter->setIdentity($form->getValue('login'));
            	        $authAdapter->setCredential($form->getValue('password'));
     
            	        $auth = Zend_Auth::getInstance();
     
            	        $result = $auth->authenticate($authAdapter);
     
            	        if ($result->isValid()) 
            	        {
            		        $storage = $auth->getStorage();
            		        $storage->write($authAdapter->getResultRowObject());
            		       	$this->_redirect('/');
            	        }
            	        else
    	                {
    	                	$form->populate($_POST);
    	                }
     
                    }
       				else
                    {
                    	$form->populate($_POST);
                    }
     
    		$this->view->form = $form;
    le code vue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php echo $this->form ?>

  4. #4
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Excuse moi mais j'ai pas bien saisi en fait.
    Lorsque tu appelle l'action depuis le layout, les attributs de la balise form ne sont pas corrects, alors que si tu vas sur la page /auth/login tu as bien les attributs de définis sur le formulaire c ça?

  5. #5
    Membre confirmé Avatar de erehcab
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 215
    Par défaut
    Ok problème résolu et problème c**, l'appel de l'action via le helpers etait entouré de balise <form> ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form><?php echo $this->action('login', 'Auth') ?></form>
    ...

  6. #6
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Effectivement t'a rien!
    Mais tu l'a fait exprès d'initialiser la vue?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $form->setAction($this->view->link('login', 'auth'))
                    	 ->setMethod('POST')
                    	 ->setView(new Zend_View);
    Car normalement t'as pas besoin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $form->setAction($this->view->link('login', 'auth'))
                    	 ->setMethod('POST');

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

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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