簡體   English   中英

持續獲取消息:使用codeigniter的未定義變量

[英]Keep getting Message: Undefined variable using codeigniter

控制器:

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

if($this->Login_model->login_user($username, $password)) {
        $data['user_data'] = $this->Login_model->login_user($username, $password);
        echo $user_data->fname;
        //$user_array = array(
        //'fname' => $user_data->fname,
        //'level' => $user_data->level,
        //'logged_in' => true
        //);

    //$this->session->set_userdata($user_array);
    redirect ('home');

    } else {

        $this->load->view('inc/login_header');
        $this->load->view('login');
        $this->load->view('inc/login_footer');

    }

模型:

public function login_user($username, $password) //This function returns an array
{
    $this->db->where('username', $username);
    $this->db->where('password', $password);
    $query = $this->db->get('logins'); //create query

    if($query->num_rows() == 1) {
        //return $query->result_array();
        return $query->row();
    } else {
        return false;       
    }
}

我一直收到此錯誤:消息:未定義的變量:user_data文件名:controllers / Login.php

該錯誤引用了以下行:echo $ user_data-> fname;

在我看來,我試圖根據模型行中的數據創建一個名為user_data的數組。

在此先感謝您的幫助。

用這個 :

$data['user_data']->fname;

代替這個:

echo $user_data->fname;

或像這樣:

$user_data = $this->Login_model->login_user($username, $password);
echo $user_data->fname;

應該是這樣的:

if($this->Login_model->login_user($username, $password)) {
    $data['user_data'] = $this->Login_model->login_user($username, $password);
    echo $data['user_data']->fname;
    //$user_array = array(
    //'fname' => $user_data->fname,
    //'level' => $user_data->level,
    //'logged_in' => true
    //);

//$this->session->set_userdata($user_array);
redirect ('home');

} 

暫無
暫無

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

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