0

私のuser-roleのために、レコードからセッションに特定のフィールドを保存しようとしています。ここの問題は、私が他のフィールドを取ることができないことです。namarow()は特定のフィールドでnullを返します

コントローラ/ verify_login

public function index(){ 
    $this->load->model('verify_login_model'); 
    $username = $this->input->post('username'); 
    $password = $this->input->post('password'); 
    $result = $this->verify_login_model->verify($username, $password); 
    if($result == $username) { 



     $name = $this->verify_login_model->getinfo($username); 
     $this->session->set_userdata('logged_in', TRUE); 
     $this->session->set_userdata('username', $username); 
     $this->session->set_userdata('name', $name); 

     $this->load->view('home_view'); 






    } else { 
     redirect('login'); 
    } 

モデル/ verify_login_model

function verify($username, $password){ 
    $this->db->select('username', 'password'); 
    $this->db->from('tb_user'); 
    $this->db->where('username', $username); 
    $this->db->where('password', MD5($password)); 
    $this->db->limit(1); 

    $query = $this->db->get(); 
    if($query->num_rows()==1) { 
     return $username; 
    } else { 
     return false; 
    } 
} 

function getinfo($username) { 
    $this->db->select('nama', 'username'); 
    $this->db->from('tb_userInfo'); 
    $this->db->where('username', $username); 
    $this->db->limit(1); 

    $query = $this->db->get(); 
    if($query->num_rows()==1) { 

     $result = $query->row(); 

     return $result->nama; 



    } else { 
     return false; 
    } 
} 

<?php echo $this->session->userdata['name']?> 

のvar_dump($結果):オブジェクト(はstdClass)#22(1){[ "nama"] => string(4) "test"}

私が$ result-> namaを返した場合、 $ result-> usernameに;私はエラーが表示されます:未定義のプロパティ:stdClass :: $ usernameもあなたのテーブルのユーザー名フィールドが200%確かに私は確かに、直接クエリを試してみました。あなたのselect文に誤りがあります

答えて

1

、それは以来、あなたがその未定義伝える理由です、あなたが各列を分離しており、それが正しいではありません、すべての列が1つの文字列に行く

$this->db->select('nama,username'); 

でなければなりません送信している唯一の列はnamaで、selectの2番目のパラメータとしてusernameを送信しています。

ここためactive record上のリンクはCodeIgniterの2.2.0です

+0

あなたに私のたてがみをありがとうございました!! –

関連する問題