Неопределенный индекс: электронная почта в codeigniter - PullRequest
0 голосов
/ 04 мая 2020

я пытаюсь войти, но я продолжаю сталкиваться с ошибкой ниже. Прилагается мой контроллер и модель

контроллер

public function login(){
        //load session library
        $this->load->library('session');
        $this->load->model('Model_students');

        $email = $_POST['email'];
        $password = $_POST['password'];


     $data = $this->Model_students->login($email, $password);

        if($data)
        {
            $id=$data[0]->id;
            $first_name=$data[0]->firstname;
            $last_name=$data[0]->lastname;
            $this->session->set_userdata('user_id',$id);
            $this->session->set_userdata('lname',$last_name);
            $this->session->set_userdata('user', $email);
            $this->session->set_userdata('fname',$first_name);
            $this->getImg();
            redirect('Students/homepage');
        }
        else{

            $this->session->set_flashdata('error','Invalid login. User not found');
        }
    }

модель

public function login($email,$password)
        {
            // $query = $this->db->get_where('users', array('email'=>$email, 'password'=>$password));
            $query = $this->db->get_where('users', array('email'=>$email));
            if($query->num_rows() == 1 )
            {
                return $query->result();

            }

когда я запускаю это, я получаю сообщение об ошибке: Сообщение: неопределенный индекс: электронная почта

Имя файла: контролеры / студенты. php

Номер строки: 145

1 Ответ

0 голосов
/ 04 мая 2020

пожалуйста, не используйте параметр $ _POST без проверки. использовать input библиотека

public function login(){
    //load session library
    $this->load->library('session');
    $this->load->model('Model_students');

    $post = $this->input->post(NULL, TRUE);
    $email = isset($post['email']) ? $post['email'] : '';
    $password = isset($post['password']) ? $post['password'] : '';

    $data = $this->Model_students->login($email, $password);
    if($data && !empty($data)){
        $id         = $data[0]->id;
        $first_name = $data[0]->firstname;
        $last_name  = $data[0]->lastname;

        $this->session->set_userdata('user_id', $id);
        $this->session->set_userdata('lname',   $last_name);
        $this->session->set_userdata('user',    $email);
        $this->session->set_userdata('fname',   $first_name);
        $this->getImg();

        redirect('Students/homepage');
    }else{    
        $this->session->set_flashdata('error', 'Invalid login. User not found');
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...