7
votes

Rediriger la page après la connexion dans le cadre Yii

Je suis NEWBIE dans le cadre YII. Dans Yii, lorsque vous vous connectez par défaut, il redirige vers la page d'index. Je veux que lorsque je me connecterai à Yii, la page redirigera vers une autre page et non la page d'index. Alors quelqu'un peut-il m'aider dans cela. Toute aide ou suggestions sera très appréciable.

[modifier]

Comment la redirection fonctionnera lorsque j'utiliserai le module utilisateur comme après la connexion de la page est redirigée vers la page de profil?


1 commentaires

Vous voudrez peut-être vérifier Ce lien


4 Réponses :


13
votes

Vous pouvez (et en effet, si une redirection va avoir lieu) Spécifiez l'URL à rediriger vers l'intérieur de la méthode actionLogin code> de votre contrôleur. Après une connexion réussie, vous verrez quelque chose comme ce code:

$this->redirect(Yii::app()->user->returnUrl);


0 commentaires

6
votes

Pour rediriger l'utilisateur à une page après la connexion, créez un nouveau contrôleur dans GII pour la page de votre utilisateur, votre utilisateur sera dirigé après son enregistrement. Je vais appeler cette "application" ici. Gii créera automatiquement certains fichiers pour vous - une seule sera /proteint/models/appcontroller.phpecket ,.php, vous aurez une fonction publique (méthode) par défaut appelée ActionIndex. Le but de cette méthode par défaut est d'appeler (rendu) le fichier /proteint/views/app/index.php (également créé par gii pour vous). index.php est le fichier que vos utilisateurs verront une fois qu'ils se connectaient. C'est le fichier que vous souhaitez modifier pour créer votre application. Retour à Sitecontroller.php et modifiez l'argument de Redirect () dans la méthode ActionLogin () P>

 if(isset($_POST['LoginForm']))
            {
                    $model->attributes=$_POST['LoginForm'];
                    // validate user input and redirect to the previous page if valid
                    if($model->validate() && $model->login())
                    // since my controller is /protected/controllers/AppController.php
                            $this->redirect(array('app/index'));
            }


0 commentaires

2
votes

Vous pouvez rediriger vers site / index après connecté à l'aide du module utilisateur.

'modules'=>array(
    // user extension
    'user'=>array(
               ...........
        # page after login
         //'returnUrl' => array('/user/profile'),
        'returnUrl' => array('/site/index'),
                ........
    ),
),


0 commentaires

1
votes
$this->redirect($this->createUrl('yourcontroller/youraction'));

0 commentaires