Передача переменной, которая не реализуется формой - PullRequest
0 голосов
/ 11 февраля 2012

У меня есть следующий код, который проверяет правильность userName & userPassword, затем войдите в систему, но я также хочу включить еще пару проверок, которые не указаны в форме входа, но приходят из базы данных - userGroup - user/admin & userActive - yes/no.Как бы я написал функцию входа в систему, чтобы взять в Vars?

Контроллер:

public function login()
{
        $this->form_validation->set_rules('userName','userName', 'required|valid_email|trim|max_length[99]|xss_clean');
        $this->form_validation->set_rules('userPassword','userPassword', 'required|trim|max_length[200]|xss_clean|callback__checkUser');

        if($this->form_validation->run() === TRUE) {
        // set CLEAN data in the session.
            redirect('admin/dashboard');
        }

        $this->index();
    }
} 

Модель:

function _checkUser(){ // Private function 
        extract($_POST);

        $login = $this->admin_model->check_login($userName,$userPassword,$userGroup,$userEmail,$userActive);

        if(! $login){

        $this->session->set_flashdata('login_error', TRUE); 
        $this->form_validation->set_message('_checkUser','Sorry your %s is not correct');

        return FALSE;

    }else{
        $this->session->set_userdata('logged_in', TRUE);
        $this->session->set_userdata('userID', $user->id);
        $this->session->set_userdata('userName',$user->userName);
        $this->session->set_userdata('firstName',$user->userFirstName);
        $this->session->set_userdata('lastName'),$user->userLastName;
        $this->session->set_userdata('userEmail',$user->userEmail);
        $this->session->set_userdata('userGroup'),$user->userGroup;
        $this->session->set_userdata('userActive'),$user->userActive;
    }

1 Ответ

1 голос
/ 11 февраля 2012

Если я правильно понимаю ваш вопрос, вы можете сделать что-то подобное в своей другой части

 // Your current else part
 else{
    $this->session->set_userdata('logged_in', TRUE);
    $this->session->set_userdata('userID', $user->id);
    $this->session->set_userdata('userName',$user->userName);
    $this->session->set_userdata('firstName',$user->userFirstName);
    $this->session->set_userdata('lastName'),$user->userLastName;
    $this->session->set_userdata('userEmail',$user->userEmail);
    $this->session->set_userdata('userGroup'),$user->userGroup;
    $this->session->set_userdata('userActive'),$user->userActive;
}

, у вас может быть что-то вроде этого

else{
    if($user->userGourp == "Admin" && $user->userActive == "Yes"){
    $this->session->set_userdata('logged_in', TRUE);
    $this->session->set_userdata('userID', $user->id);
    $this->session->set_userdata('userName',$user->userName);
    $this->session->set_userdata('firstName',$user->userFirstName);
    $this->session->set_userdata('lastName'),$user->userLastName;
    $this->session->set_userdata('userEmail',$user->userEmail);
    $this->session->set_userdata('userGroup'),$user->userGroup;
    $this->session->set_userdata('userActive'),$user->userActive;
   }
   else {
        $this->session->set_flashdata('login_error', TRUE); 
       $this->form_validation->set_message('_checkUser','Sorry your %s is not correct');          
       return FALSE;
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...