3

我如何检查用户是否已登录

像这样的东西:

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

以及如何将用户数据转换为变量?

多谢。

4

3 回答 3

8

在您的控制器中,您可以执行类似的操作

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; ?>


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

于 2012-06-29T15:27:10.810 回答
2

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

于 2012-06-29T15:40:00.050 回答
0

控制器:

$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; ?>
于 2017-08-17T06:47:20.780 回答