2012-02-29 27 views
0

私はセッションでログインページを試みますが、問題に直面しています。メンバー関数への呼び出し - Codeigniter

まず、girisというモデルを作成しました。モデルgiris関数girisKontrol

function girisKontrol($username, $password) { 
     $sha1_password = sha1($password); 
     $query = "SELECT id FROM pasaj_register WHERE username = '".$username."' and password = '".$sha1_password."'"; 

     $result = $this->db->query($query, array($username, $sha1_password)); 

     if ($result->num_rows() == 1) 
      return $result->row(0)->id; 
     else 
      return false; 
    } 

とgiris

と呼ばれる制御装置には、しかし、フォームが処理されるとき、コードの下

public function main_page() { 


     $username = $this->input->post('username'); 
     $password = $this->input->post('password'); 

     $userID = $this->giris->girisKontrol($username,$password); 

     if (!$userID) { 

      $this->session->set_flashdata('login error', TRUE); 

      redirect('giris/giris'); 
     } else { 
      $this->session->set_userdata(array(
       'logged_in' => TRUE, 
       'userID' => $userID)); 



      redirect('welcome_message'); 
     } 
    } 

を書きました。私は、その理由は何

enter image description here

、エラーの下に取りますか?

+0

「controllers/giris」の行番号19は何ですか? –

+0

モデルをロードしましたか? –

答えて

0

girisモデルをロードしていない可能性があります。

このようなものをコントローラのコンストラクタの内側またはコントローラの関数呼び出しの先頭に配置して、モデルをロードします。

$this->load->model('giris'); 
+0

私は$ this-> load-> model( 'giris/giris')を薦めました。致命的なエラー:21行目のC:\ xampp \ htdocs \ pasaj \ application \ models \ giris \ giris.phpにクラスgirisを再宣言できません。この21行目は$ userID = $ this-> giris-> girisKontrol($ username、$ password); –

+0

@MertMETİN新しいコードで質問を更新できる方が良いかもしれません。また、他の場所にモデルをロードしましたか?エラーは、すでにオブジェクト内に 'giris'という名前の定義済みのプロパティが存在するということです。それはモデル以外の何か他のものかもしれません。 –

0

あなたはおそらく、あなたのモデルをロードするのを忘れ:

起動

$this->load->model('giris'); 

$userID = $this->giris->girisKontrol($username,$password); 
+0

私は$ this-> load-> model( 'giris/giris')を薦めました。致命的なエラー:21行目のC:\ xampp \ htdocs \ pasaj \ application \ models \ giris \ giris.phpにクラスgirisを再宣言できません。この21行目は$ userID = $ this-> giris-> girisKontrol($ username、$ password); –

+0

コードイグナイタの規則に従って、モデルクラスGiris_modelの名前を付けましたか?あなたが "Giris"という名前の複数のクラスを持っているように聞こえて、今は矛盾しています。 – Phil

+1

問題はあなたのクラスとあなたのモデルが同じ名前を持っていることです...クラスをgirisVOのようなものに変更してください... – Gerep

0

に問題があなたのクラスとモデルが同じ名前を持っているということです。あなたのクラスをgirisVOのようなものに変更してください。

関連する問題