我正在完成一项任务并遇到了这个奇怪的问题。
所以说我输入用户名/密码,现在登录。我去了另一个网站,想要返回我登录的网页。这是我实施照顾这种情况的方式:
//Controller
public function index()
{
$loggedin = $this->alibrary->is_loggedin();
if ($loggedin === false)
{
$this->load->view('normal_screen');
}
if ($loggedin === true)
{
$this->load->view('homepage');
}
}
但如果我之前登录并返回网页,我会看到一个空白屏幕。但是当我没有登录时,它会显示正常的屏幕。我不知道为什么我会得到一个空白页面,有人可以解释一下吗?感谢
答案 0 :(得分:1)
这可能是我个人的偏好,但我会按如下方式重写您的代码:
public function index()
{
$loggedin = $this->alibrary->is_loggedin();
// redirect non logged in users to another page
if (!$loggedin) {
redirect('your/url/to/normal_screen', 'location');
}
// If they get this far we can assume they are logged in, so load the view
$this->load->view('homepage');
}
当用户未登录时,您会注意到我使用redirect()
。我个人的偏好是,如果他们尝试访问网站的某个部分,则会将未登录的用户重定向回登录屏幕这需要授权。