[英]login form does not appear
我是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);
}
}
这是我在视图文件夹中的模板:
<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>
我想这是简单的代码,因为我只是更改了控制器,但是为什么它不出现在浏览器中?
该代码本身看起来是正确的。 我想说的可能是您调用了错误的视图,并且错误报告级别太低而无法向您显示错误。 我的意思是:
auth
文件夹内(因此它位于下载的软件包中)。 因此,您应该使用$data['auth/login_form'];
来调用它$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
对其进行调用。 如果可行,请查看auth控制器的login()
方法,您将看到原始login_form.php
需要如何以及使用哪个变量。
关键点是,您不需要echo
视图,因此$this->load->view('content');
够了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.