代码点火器Ion_auth检查登录


CodeIgniter Ion_auth check login

如何检查用户是否在视图中登录?

像这样:

if ($this->ion_auth->logged_in())
{
    // do something ..
}
else
{
    // do something else ..
}

以及如何将用户数据获取到变量?

多谢。

在控制器中,您可以执行以下操作:

function some_method() {
    if ($this->ion_auth->logged_in()) {
      $loggedin = true;
    } else {
      $loggedin = false;
    }
    $data['loggedin'] = $loggedin;
    $this->load->view('some_view.php', $data);
}

然后在你看来

<?php if ($loggedin): ?>
    <p>Logged in</p>
<?php else: ?>
    <p>Please log in</p>
<?php endif; ?>


或者,如果用户是否登录,您可以从控制器加载不同的视图。

正如隐形忍者所说,它应该在控制器中执行。您可以通过扩展基本 CodeIgniter 控制器来减少控制器中的代码量,然后让项目经过身份验证区域的控制器扩展自定义控制器。自定义控制器可能有一个构造函数,用于检查用户是否经过身份验证并相应地路由用户。这个相同的构造函数还可以在其中设置变量,以便自定义控制器的子类可以轻松访问。

控制器:

$this->ion_auth->logged_in() ? $data['logged'] = true : $data['logged'] = false;
$this->load->view('index', $data);

视图:

<?php if ($logged): ?>
    do something...
<?php else: ?>
    do something else...
<?php endif; ?>