2011-12-15 11 views
1

私はCodeIgniterを初めて使用しています。私はログインフォームにタンク認証を使用しています。テンプレートにタンク認証を入れようとすると、ログインフォームに’がまったく表示されません。私は’コントローラー以外は何も変えなかった。ログインフォームが表示されません

ここ

は私のコントローラのコードです:

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> 

それ’の簡単なコード、私が思うに、コントローラを変更しますが、ブラウザにはなぜ’が表示されませんか?

答えて

0

コード自体が正しいように見えます。私が言うことは、あなたが間違った視点を呼んでいるかもしれないし、あなたにエラーを表示するには低すぎるエラー報告レベルがあるかもしれないということです。つまり、

  1. あなたのlogin_form.phpビューはカスタムのものですか?パスは正しいですか?それが正しく呼び出されるかどうかを確認するには、単純なほとんど空のビューを使用してみてください(分かりません。
  2. Tank Authが提供するデフォルトのlogin_form.phpビューを使用していて、コンテンツをそのままコピーした場合、ビューはauthフォルダ内にある必要があります(ダウンロードされたパッケージに含まれています)。そのため、あなたのコントローラで$data['auth/login_form'];、ポイント2の不測の事態に
  3. )でそれを呼び出す必要があり、オリジナルのタンクのAuth login_form.phpは、あなたのコードで未定義ことが起こるの変数のたくさんが含まれています。エラーを表示しない場合は、空のページが表示されます。元のコントローラでそれを呼び出してみてください、ちょうど戦車認証のfunctinalityをテストするには

    error_reporting(E_ALL); 
    ini_set('display_errors',1); 
    

    あなたのindex.phpの冒頭でこのindex.phpの中に「開発」するための環境を設定し、それは十分な場所ではない場合http://www.yoursite.com/index.php/authに行ってください。それがうまくいけば、認証コントローラのlogin()メソッドを見て、元のlogin_form.phpがどのようにどの変数を必要とするかを見てください。

  4. マイナーポイント、あなたはechoビューを必要としないので、$this->load->view('content');は十分です。

+0

まず、私の問題の相手方にお返事いただきありがとうございます。ポイント1については、私はlogin_form.phpのために全くカスタマイズしていません。それは正しく正しいパスです。はい、こんにちは世界のテキストを試してみると正しく呼び出すことができます。ポイント2では、私は '$ data ['auth/login_form'];を試しましたが、Tank Authが提供するデフォルトのlogin_formビューを使用しています。ポイント3で、index.phpで環境を設定するのはどういう意味なのでしょうか?具体的に教えてください。 – ranggadablues

+0

条件を更新し、認証フォルダのlogin_formビューを確認しましたが、 '$ show_captcha'にPHPのコメント'/'を入れていたのを忘れました。 login_formは私のテンプレートに示すことはできませんが、私がコメントを削除すると、 '//'それは、このようないくつかのエラー表示されザッツ理由: を 'PHPエラーが 重要度を発生しました:未定義の変数:login_by_username ファイル名 メッセージに注目してください:auth/login_form。PHP 行番号:9 ' なぜか教えていただけますか? ありがとう – ranggadablues

+0

authコントローラのlogin()メソッドを見てください。私が言ったように、login_form.phpのビュー変数がどこに作成されているかがわかります。とにかく、それは設定オプションです –

関連する問題