如何检查用户是否在视图中登录?
像这样:
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; ?>