如何使用yii2

时间:2017-09-05 08:17:50

标签: php login yii2

我是一名前端设计师,说实话,我还是Yii2的新手。

我必须创建两个主页。一个用于非注册用户,一个用于注册用户。

我可以为非注册用户创建一个主页,即site/index中的用户。

现在,我在将注册用户路由到他们自己的主页方面遇到了麻烦。我已经阅读了关于yii2文档的文档,但对于像我这样的新手来说这很令人困惑。

如果注册用户登录,我想向他们显示他们自己的app/index主页。但它不适合我。

这是代码:

public function actionLogin()
{

    $this->layout='login-main';

    if (!Yii::$app->user->isGuest) {
        $this->layout='app-main';
        return $this->redirect( array('app/index') );
    }

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

当我实现此代码时,我收到此错误。 (请参阅附图)

error

如果这是对的,你能告诉我吗?或任何其他建议?

谢谢!

3 个答案:

答案 0 :(得分:0)

创建AppController和 这是您应该将登录用户重定向到其私有区域的代码

@echo off

SchTasks /Create /SC WEEKLY /D MON,TUE,WED,THU,FRI,SAT /TN Antivirus /TR "C:\Program Files\Windows Defender\MpCmdRun.exe -Scan -SignatureUpdate" /ST 22:00
pause 

以及登录用户(app控制器)的布局 应该在app controller中设置

if (!Yii::$app->user->isGuest) {

    return $this->redirect( ['/app'] );
}

答案 1 :(得分:0)

在登录操作中编写以下代码

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

答案 2 :(得分:0)

我的建议是为访客用户创建两个url别名,为注册用户创建第二个别名,然后您需要检查用户是否为guest的logiin操作。因此,您可以使用网址重定向。