使用codeigniter继续获取消息:未定义的变量

时间:2018-04-28 17:49:10

标签: php codeigniter-3

控制器:

$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的数组。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

Use this :

$data['user_data']->fname;

instead of this :

echo $user_data->fname;

Or Like this :

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

should be like this :

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');

}