Задать вопрос
@Stardusts

Как реализовать правильно авторизацию с сессиями на codeigniter?

Добрый день уважаемые, нужна помощь с авторизацией.
В БД имеется 3 таблицы, Исполнитель, Клиент и Менеджер.
Как сделать авторизацию по логину, паролю и роли? При этом из разных таблиц? Не судите строго, я только учусь...Буду благодарен за любое высказывание..5eba7fc662ee4391448325.jpeg
Код модели с функцией авторизации
public function login_user ($login_cli, $password_cli) // авторизация аккаунта
	{
		//$password_cli=md5(md5(trim($_POST['password_cli']))); // расшифр пароля
		$sql = 'select id_client, login_cli, password_cli, naim_client, address_cli, phone_cli, email_cli, rol_cli from client where login_cli = ? and  password_cli = ? ';
		$query = $this->db->query($sql, array($login_cli, $password_cli));
		return $query->row_array();
		
	}

Код авторизации в контроллере 
// авторизация
	public function signin() {
    
        $this->load->view('head');
        $this->load->view('navbar_guest');
        $data['message'] = '';
        if (!empty($_POST))
        {
            $this->load->model('users_model'); // авторизация
            
            $data['signin'] = $this->users_model->login_user($_POST['login_cli'], $_POST['password_cli']);
            if (!empty($data['signin']))
            {
                $sess = array(
                    'id_client' => $data['signin']['id_client'],
                    'naim_client' => $data['signin']['naim_client']
                );
                $this->session->set_userdata($sess);
                redirect('home');
            }
            else  echo " <br><br><br><br><br>";
            var_dump($_POST['login_cli']);
            var_dump($_POST['password_cli']);
            {
                $data['message'] = 'Вы неверно ввели логин или пароль! <br>';
            }
        }
        $this->load->view('signin', $data);
        $this->load->view('footer');
    }
  • Вопрос задан
  • 63 просмотра
Подписаться 1 Сложный 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы