[英]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.