我是CodeIgniter的新手,我使用Tank Auth作为我的登录表单。当我尝试将Tank Auth放入我的模板时,登录表单根本不会出现。除了控制器,我没有改变任何东西。
这是我的控制器代码:
public function __construct(){
parent::__construct();
$this->load->helper(array('form','url'));
$this->load->library('tank_auth');
//$this->load->model('users_model');
}
public function index(){
if (!$this->tank_auth->is_logged_in()) {
$data['loginform']='login_form';
$this->load->view('tampilan',$data);
//redirect('/auth/login/');
} else {
$data['user_id'] = $this->tank_auth->get_user_id();
$data['username'] = $this->tank_auth->get_username();
$this->load->view('welcome', $data);
}
}
这是我在view文件夹中的模板:
<div id="page">
<div id="bg1">
<div id="bg2">
<div id="bg3">
<!-- content -->
<?php $this->load->view($loginform); ?>
<!-- end content -->
<!-- sidebar -->
<?php echo $this->load->view('content'); ?>
<!-- end sidebar -->
</div>
</div>
</div>
我认为这是简单的代码,因为我只是更改控制器,但为什么它不会出现在浏览器中?
答案 0 :(得分:0)
代码本身看起来是正确的。我可以说的是,您可能会调用错误的视图,并且错误报告级别太低而无法显示错误。我的意思是:
auth
内(因此它位于下载的包中)。因此,您应该在控制器中使用$data['auth/login_form'];
调用它,在第2点的可能性中,原始的Tank Auth login_form.php包含很多变量,这些变量恰好在代码中未定义。如果您没有显示错误,那么您将获得一个空白页面。在index.php中将ENVIRONMENT设置为“development”,如果这还不够,请将它放在index.php的开头
error_reporting(E_ALL);
ini_set('display_errors',1);
要测试Tank Auth的功能,请尝试使用原始控制器调用它,方法是转到http://www.yoursite.com/index.php/auth
。如果可行,请查看身份验证控制器的login()
方法,您将看到原始login_form.php
需要的变量和变量。
小点,您不需要echo
一个视图,因此$this->load->view('content');
就是了。