2017-07-01 143 views
0

在Yii默认登录时,它会重定向到索引页面。我希望当我登录到Yii时,页面将重定向到另一个页面而不是索引页面。所以任何人都可以帮助我。任何帮助或建议将是非常appreciable.here是siteController.php我actionLogin功能yii2登录后重定向到另一页

public function actionLogin() 
{ 
    if (!Yii::$app->user->isGuest) { 
     return $this->goHome(); 
    } 

    $model = new LoginForm(); 
    if ($model->load(Yii::$app->request->post()) && $model->login()) { 
     return $this->goBack(); 
    } 
    return $this->render('login', [ 
     'model' => $model, 
    ]); 
} 
+0

你想要哪个页面? – scaisEdge

+0

登录后我想重定向到管理页面 – Alvi

+0

'retuen $ this-> redirect(['contoller','action']);' – smoqadam

回答

1

您可以重定向到你prefere

public function actionLogin() 
    { 
     if (!Yii::$app->user->isGuest) { 
      return $this->goHome(); 
     } 

     $model = new LoginForm(); 
     if ($model->load(Yii::$app->request->post()) && $model->login()) { 
     return $this->redirect(['/admin/index']); 
     } 
     return $this->render('login', [ 
      'model' => $model, 
     ]); 
    } 

,或者如果需要显示的实例如页面:视图为ID = $模型 - > ID

 public function actionLogin() 
    { 
     if (!Yii::$app->user->isGuest) { 
      return $this->goHome(); 
     } 

     $model = new LoginForm(); 
     if ($model->load(Yii::$app->request->post()) && $model->login()) { 
     return $this->redirect(['/admin/view', 'id' => $model->id]); 
     } 
     return $this->render('login', [ 
      'model' => $model, 
     ]); 
    } 
+0

解释得更清楚您对我的评论不清楚......您的意思是adimin/id = 3 ..? – scaisEdge

+0

无论如何回答更新了样本以查看遗传 – scaisEdge

0

下面的例子 打开您的意见文件夹并打开站点文件夹,而是index.php文件创建一个新的页面,只是假设ŧ他的新页面的welcome.php和替换的欢迎指数在控制器中像下面

public function actionLogin() 
{ 
if (!Yii::$app->user->isGuest) 
{ 
return $this->goHome(); 
} 
$model = new LoginForm(); 
if ($model->load(Yii::$app->request->post()) && $model->login()) 
{ 
return $this->goBack(); 
} 
return $this->render('welcome', [ 'model' => $model, ]); 
} 
0

变化的登录页面,因为这

public function actionLogin() 
    { 
     if (!Yii::$app->user->isGuest) { 
      return $this->goHome(); 
     } 

     $model = new LoginForm(); 
     if ($model->load(Yii::$app->request->post()) && $model->login()) { 
      return $this->redirect(['site/loader']); 
     } 
     return $this->render('login', [ 
      'model' => $model, 
     ]); 
    } 

,并在您的控制器的情况下,我认为现场控制器添加

public function actionLoader() 
{ 
    return $this->render('yourPage'); 
} 

希望有帮助。