2016-09-30 5 views
0

初心者ご質問申し訳ありません:ヘッダー、ナビゲーションバー、コンテンツ、サイドバー、フッターを持つテンプレートがあります。 しかし、私のloginboxはサイドバーにあり、私のビューファイル 'footer.php'はサイドバーとフッタで構成されています。 (私のloginboxはfooter.phpにあります) 私のコントローラでは、すべてのメソッドがheader.phpビュー、somemodule.php(content)ビューおよびfooter.phpビューをインポートする必要があります。Codeigniter。フッタにログインメソッドがどこに書かれているのですか?

問題はloginメソッドを記述するときに、loginboxがフッタに既に存在するため、コンテンツビューを持たないことです。 somemodule.php(コンテンツ)ビューのための必要はありません。 (私のログインフォームポストデータは、ログイン方法をコントローラに)

これは、ユーザの入力が間違ったパスワードは、私が欲しいとき、これはフッタービュー

<?php echo form_open('member/login');?> //post data to method login controller 
        <h2> Login </h2> 
        <ul id='login'> 
         <li> 
          Username:<br> 
          <input type='text' name='username'> 
         </li> 
         <li> 
          Password:<br> 
          <input type='password' name='password'> 
         </li> 
         <br> 
         <li> 
          <input type='submit' value='Log in'> 
         </li> 
        </ul> 
       </form> 

で私の形で私のコントローラ

public function login() 
{ 
    $this->load->view('header'); 

    /// login and validation algorithm here//// 
    /// not have $this->load->view('some content') /// 

    $this->load->view('footer'); ////my loginform is footer 

} 
public function register() 
{ 
    $this->load->view('header'); 
    $this->load->view('register_content'); // so this has a content 
    //// algorithm and validation here ///// 
    $this->load->view('footer'); 
} 

ですエラーメッセージと同じページにあるウェブサイトと "コンテンツビュー"は同じです。

+0

:あなたのヘッダビューで次に

public function login() { // Do your logic... Don't load any views or anything if ($error) { $this->session->set_flashdata('login_error', TRUE); } // Load the user agent library $this->load->library('user_agent'); // Load the url help $this->load->helper('url'); // Then redirect to the previous page. You can add more security and check if the previous page is not empty and is from your website. redirect($this->agent->referrer()); } 

をコード概要。あなたが何をしているのか、具体的な問題が何であるかは明確ではありません。 [mcve] – charlietfl

+0

を参照してください。フォームはページ内のどこにでも置くことができます – charlietfl

答えて

1

あなたはログインコントローラで、exempleについてsession library

からflashdataを使用することができます:あなたが使用してこれを説明する必要があるとしている

<?php if ($this->session->flashdata('login_error')): ?> 
    <div class="error">Something went wrong ! Check your username/password.</div> 
<?php endif;?> 
関連する問題