簡體   English   中英

登錄表單沒有出現

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

我想這是簡單的代碼,因為我只是更改了控制器,但是為什么它不出現在瀏覽器中?

該代碼本身看起來是正確的。 我想說的可能是您調用了錯誤的視圖,並且錯誤報告級別太低而無法向您顯示錯誤。 我的意思是:

  1. 您的login_form.php視圖是自定義視圖嗎? 路徑正確嗎? 嘗試使用簡單的幾乎為空的視圖(不知道,其中是否只有“ hello world”文本?)以查看是否正確調用了該視圖。
  2. 如果您使用的是Tank Auth提供的默認login_form.php視圖,並且按原樣復制了內容,則該視圖應位於auth文件夾內(因此它位於下載的軟件包中)。 因此,您應該使用$data['auth/login_form'];來調用它$data['auth/login_form']; 在您的控制器中
  3. 在第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需要如何以及使用哪個變量。

  4. 關鍵點是,您不需要echo視圖,因此$this->load->view('content'); 夠了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM