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

MVC PHP Discussion :

Redirection vers une route dans un controlleur


Sujet :

MVC PHP

  1. #1
    Membre éclairé
    Avatar de __fabrice
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Août 2004
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2004
    Messages : 404
    Par défaut Redirection vers une route dans un controlleur
    Salut à tous,

    Apres avoir vu un tuto video sur le Zend_Router, je m'y suis mis. J'ai utilisé un bout du code de Zend_Auth (tuto sur developpez.com).

    Par contre, je ne sais pas comment faire une redirection vers une route dans le controller. Dans le _redirect, j'aimerai utiliser une route prédéfinie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     if ($result->isValid()) {
        // success : store database row to auth's storage system
        // (not the password though!)
        $data = $authAdapter->getResultRowObject(null, 'password');
        $auth->getStorage()->write($data);
        $this->_redirect('/menu/display');
     
    } else {
    Mes routes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $frontController->setControllerDirectory(array(
    'auth' 		=> _APP_PATH_	. '/application/modules/auth/controllers',
    'actualites'   => _APP_PATH_	. '/application/modules/actualites/controllers',
    'menu' 		=> _APP_PATH_	. '/application/modules/menu/controllers',
    'users' 	=> _APP_PATH_	. '/application/modules/users/controllers'
    	));
     
    $frontController->setBaseUrl('/');
    $frontController->setDefaultModule('auth');
    $frontController->setDefaultControllerName('Auth');
    $frontController->setDefaultAction('login');
     
    // ROUTEUR /////////////////////////////////////////////////////////
    $frontController->getRouter()->addConfig($configRouterXML,'routes');
    un bout du XML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <menuRoute>
     <type>Zend_Controller_Router_Route</type>
     <route>partieStaticDisplay</route>
    <defaults>
     <controller>menu</controller>
     <action>display</action>
     </defaults>
     </menuRoute>
    Donc comment je peux faire, apress l'authentification, pour aller sur la page du menu, en vérifiant que l'authentification a bien été faite ?

    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
    class MenuController extends Zend_Controller_Action
    {
        function init()
        {
            $this->initView();
            $this->view->baseUrl = $this->_request->getBaseUrl();
            $this->view->user = Zend_Auth::getInstance()->getIdentity();
        }
     
        function preDispatch()
        {
            $auth = Zend_Auth::getInstance();
            if (!$auth->hasIdentity()) {
                $this->_redirect('auth/login');
            }
        }
     
        function displayAction()
        {
            $this->view->title = "Bienvenue au menu";
            $this->render();
        }
    }
    là aussi, le redirect ne sera pas bon ecrit comme çà.

    Merci de votre aide.

    Fabrice

  2. #2
    Membre éclairé
    Avatar de __fabrice
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Août 2004
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2004
    Messages : 404
    Par défaut
    Pas de réponse ?, personne ne sait ???

    Bon puisque je suis "brave", mais vous ne le méritez pas , j'ai eu 2 réponses dans un autre forum :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->_redirect($this->view->url(array(1 => '0'), 'maPropreRouteRegex'));
    ou çà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->_helper->redirector('action', 'controleur', 'module', array('param1'=>'valeur1'));
    Confirmez vous ?

    Fabrice

Discussions similaires

  1. Response.redirect vers une page aspx dans une dll
    Par Marc_27 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 27/05/2015, 17h35
  2. Réponses: 1
    Dernier message: 09/12/2014, 21h12
  3. Réponses: 1
    Dernier message: 22/04/2014, 20h01
  4. Redirection vers une ancre dans listes deroulantes liées
    Par puceland dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/07/2011, 10h02
  5. Redirection d'un site vers une adresse dans UNE NEW FENETRE
    Par Mout85 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 20/06/2005, 09h40

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