Ошибка при получении результатов запроса в codeigniter - PullRequest
0 голосов
/ 10 июля 2019

Я новичок в использовании функций codeigniter и pdo. То, что я пытаюсь сделать с моим кодом, - это получить данные сеанса пользователя в модели, которая имеет функцию validate(), а затем передать их контроллеру, который имеет verify()функции, а затем показать данные сеанса (имя пользователя) на панели инструментов, но я получаю пустое имя пользователя:

"Array ( [__ci_last_regenerate] => 1562764863 [logged_in] => 1 [username] => )"

Я застрял с этим, и любая помощь будет очень признательна.

«Модель»

function validate()
{
    $arr['username'] = $this->input->post('username');
    $arr['password'] = ($this->input->post('password'));
    return $this->db->get_where('students',$arr)->row();
    $this->db->close();
}

«Контроллер»

public function verify()
{
    $this->load->model('student/Studentinfo_model');
    $check = $this->Studentinfo_model->validate();
    if ($check) {

        $this->session->set_userdata('logged_in', TRUE);
        $this->session->set_userdata('username', $username);

        $user=$this->Studentinfo_model->validate();

        redirect('student/dashboard');

    } else {
        redirect('student');
    }
}



public function dashboard()
{
    if ($this->session->userdata('logged_in'))
    {
        $this->load->view('login-templates/header');
        $this->load->view('student/dashboard');
        print_r($this->session->all_userdata());
    }
    else {
         redirect(site_url(student));
    }
}

1 Ответ

0 голосов
/ 10 июля 2019

Я уже понял это, попробовав некоторые решения здесь, ниже мой новый код.

Контроллер

public function verify()
{
    $this->load->model('student/Studentinfo_model');
    $query = $this->Studentinfo_model->validate();

    if ($query)
    {
        $data = array(
            'user' => $query->user, 
        );

        $this->session->set_userdata('logged_in', TRUE);
        $this->session->set_userdata($data);

        redirect('student/dashboard');

    } else {
        redirect('student');
    }
}

Модель

function validate()
{
    $this->db->where('user', $this->input->post('user'));
    $this->db->where('pass', $this->input->post('pass'));
    $query = $this->db->get('students');

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

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...