您好,我正在使用继承的控制器。这些是我的控制器:
-baseAdminController:
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class _BaseAdminController extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->library('session');
$calledFunction= $this->router->fetch_method();
if ($calledFunction!= 'loginView' && $calledFunction!= 'doLogin') {
$this->checkSession();
}
}
public function checkSession() {
if ($this->session->userdata('loggedIn') == false) {
$this->load->view('admin/loginView');
}
}
}
以及我的派生管理控制器:
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class AdminController extends _BaseAdminController {
public function indexView() {
$this->load->view('admin/indexView');
}
}
当我尝试登录时,CodeIgniter 向我显示 admin/loginView 和 admin/indexView。因为我在构建派生控制器时检查会话状态。我怎样才能防止加载第二个视图?
预先感谢..
要回答您的问题,您可以在您的系统中执行以下操作检查会话 method:
public function checkSession() {
if ($this->session->userdata('loggedIn') == false) {
echo $this->load->view('admin/loginView', array(), TRUE);
exit;
}
}
说明:如果将第三个参数传递为 TRUE,它将返回该文件的内容。读ellislab.com http://ellislab.com/codeigniter/user-guide/libraries/loader.html了解更多信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)