Вход в клиент API Codeigniter3 ⇐ Php
-
Гость
Вход в клиент API Codeigniter3
У меня возникли проблемы при подключении моего входа к сервису API, где в моей системе есть разделение на категории пользователей, а именно Администратор и Пользователь, проблема возникла при вводе ИМЯ ПОЛЬЗОВАТЕЛЯ и ПАРОЛЬ в форме входа и если база данных содержала имя пользователя и пароль, тогда моя система будет брать LEVEL из той же таблицы для получения данных уровня, будь то ADMIN или USER, но в службе API нет данных JSON в форме LEVEL и ID_SESSION (мне также нужен ID_SESSION из того же таблица)....
Я пытался написать код, но при получении session_id и уровня возникла ошибка. Итак, в моем коде ниже... какую часть или какой метод мне следует сделать, чтобы все заработало?
Я всегда получаю сообщение об ошибке в функции check_login: Имя пользователя и пароль Tidak Valid di API ini!
Это данные JSON в моей службе API:
{"данные": [{"stb":"000000","nmmhs":"ABCDFGHIJK","alm":"МАРС","email":"abcdf@gmail.com","nohp":"07737773773"}] Вот код, который я сделал:
[*]Контроллер Login.php:
function index(){ если (isset($_POST['submit'])){ if ($this->input->post() && (strtolower($this->input->post('security_code')) == strtolower($this->session->userdata('mycaptcha')))) { $username = $this->input->post('a', TRUE); $password = $this->input->post('b', TRUE); $api_url = 'https://xxxxxx.xxxxxx.ac.id/mhs.php?user=' . urlencode($имя пользователя) . '&pass=' . урленкод($пароль) . '&api=010101'; эхо $api_url; $api_response = file_get_contents($api_url); $api_data = json_decode($api_response, true); if ($api_data && isset($api_data['data'][0]['stb']) && isset($api_data['data'][0]['nmmhs'])) { $username_api = $api_data['data'][0]['stb']; $password_api = $api_data['data'][0]['nmmhs']; $cek = $this->model_app->cek_login($username_api, $password_api, 'users'); если ($cek) { // Установить уровень сеанса berdasarkan dari digit ketiga $level = (substr($username_api, 2, 1) === '1') ? 'махасисва': 'админ'; $this->session->set_userdata('upload_image_file_manager', true); $this->session->set_userdata(array( 'имя пользователя' => $username_api, 'уровень' => $уровень, 'id_session' => $cek['id_session'] )); echo 'перенаправление к администратору/дому'; } еще { echo $this->session->set_flashdata('message', 'Имя пользователя и пароль Salah!!'); echo 'перенаправление к администратору/дому'; } } еще { echo $this->session->set_flashdata('message', 'Имя пользователя и пароль Действителен для API!'); echo 'перенаправление к администратору/дому'; } } еще { echo $this->session->set_flashdata('message', 'Код безопасности салах!'); echo 'перенаправление к администратору/дому'; } } еще { if ($this->session->level != '') { echo 'перенаправление к администратору/дому'; } еще { $this->load->helper('captcha'); $vals = массив( 'img_path' => './captcha/', 'img_url' => base_url(). 'капча/', 'font_size' => 17, 'img_width' => '320', 'img_height' => 33, 'граница' => 0, 'длина_слова' => 5, 'срок действия' => 7200 ); $cap = create_captcha($vals); $data['image'] = $cap['image']; $this->session->set_userdata('mycaptcha', $cap['word']); $data['title'] = 'Пользователи › Авторизоваться'; $this->load->view('administrator/view_login', $data); } } } [*]Фрагмент кода для просмотра входа: ПОЛЬЗОВАТЕЛИ Вход Войдите в систему, чтобы начать сеанс
Я забыл свой пароль Войти [*]Функция входа в систему:
публичная функция cek_login($username, $password, $table) { $api_url = 'https://xxxxxx.xxxxxx.ac.id/mhs.php?user=' . urlencode($имя пользователя) . '&pass=' . урленкод($пароль) . '&api=010101'; $api_response = file_get_contents($api_url); $api_data = json_decode($api_response, true); if ($api_data && isset($api_data['data'][0]['stb']) && isset($api_data['data'][0]['nmmhs'])) { $username_api = $api_data['data'][0]['stb']; $password_api = $api_data['data'][0]['nmmhs']; // Имя пользователя berdasarkan уровня Тентукан $level = (substr($username_api, 2, 1) === '1') ? 'махасисва': 'админ'; // Buat id_session secara otomatis menggunakan uniqid() $id_session = uniqid(); // Устанавливаем данные для сеанса $данные = массив( 'имя пользователя' => $username_api, 'уровень' => $уровень, 'id_session' => $id_session ); вернуть $данные; } еще { // Jika-данные действительны в API, после чего необходимо войти в систему $this->session->set_flashdata('message', 'Имя пользователя и пароль Действителен для API-интерфейса!'); redirect($this->uri->segment(1) . '/индекс'); вернуть ложь; } } [*]Главная функция: функция home(){ if ($this->session->level=='admin'){ $this->template->load('администратор/шаблон','администратор/include/view_home_admin'); }еще{ $data['users'] = $this->model_app->view_where('users',array('username'=>$this->session->username))->row_array(); $data['modul'] = $this->model_app->view_join_one('users','users_modul','id_session','id_umod','DESC'); $this->template->load('администратор/шаблон','администратор/include/view_home_users',$data); } } Я хочу знать, как обмануть мою систему, чтобы level и id_session брались из API или из моей локальной базы данных.
У меня возникли проблемы при подключении моего входа к сервису API, где в моей системе есть разделение на категории пользователей, а именно Администратор и Пользователь, проблема возникла при вводе ИМЯ ПОЛЬЗОВАТЕЛЯ и ПАРОЛЬ в форме входа и если база данных содержала имя пользователя и пароль, тогда моя система будет брать LEVEL из той же таблицы для получения данных уровня, будь то ADMIN или USER, но в службе API нет данных JSON в форме LEVEL и ID_SESSION (мне также нужен ID_SESSION из того же таблица)....
Я пытался написать код, но при получении session_id и уровня возникла ошибка. Итак, в моем коде ниже... какую часть или какой метод мне следует сделать, чтобы все заработало?
Я всегда получаю сообщение об ошибке в функции check_login: Имя пользователя и пароль Tidak Valid di API ini!
Это данные JSON в моей службе API:
{"данные": [{"stb":"000000","nmmhs":"ABCDFGHIJK","alm":"МАРС","email":"abcdf@gmail.com","nohp":"07737773773"}] Вот код, который я сделал:
[*]Контроллер Login.php:
function index(){ если (isset($_POST['submit'])){ if ($this->input->post() && (strtolower($this->input->post('security_code')) == strtolower($this->session->userdata('mycaptcha')))) { $username = $this->input->post('a', TRUE); $password = $this->input->post('b', TRUE); $api_url = 'https://xxxxxx.xxxxxx.ac.id/mhs.php?user=' . urlencode($имя пользователя) . '&pass=' . урленкод($пароль) . '&api=010101'; эхо $api_url; $api_response = file_get_contents($api_url); $api_data = json_decode($api_response, true); if ($api_data && isset($api_data['data'][0]['stb']) && isset($api_data['data'][0]['nmmhs'])) { $username_api = $api_data['data'][0]['stb']; $password_api = $api_data['data'][0]['nmmhs']; $cek = $this->model_app->cek_login($username_api, $password_api, 'users'); если ($cek) { // Установить уровень сеанса berdasarkan dari digit ketiga $level = (substr($username_api, 2, 1) === '1') ? 'махасисва': 'админ'; $this->session->set_userdata('upload_image_file_manager', true); $this->session->set_userdata(array( 'имя пользователя' => $username_api, 'уровень' => $уровень, 'id_session' => $cek['id_session'] )); echo 'перенаправление к администратору/дому'; } еще { echo $this->session->set_flashdata('message', 'Имя пользователя и пароль Salah!!'); echo 'перенаправление к администратору/дому'; } } еще { echo $this->session->set_flashdata('message', 'Имя пользователя и пароль Действителен для API!'); echo 'перенаправление к администратору/дому'; } } еще { echo $this->session->set_flashdata('message', 'Код безопасности салах!'); echo 'перенаправление к администратору/дому'; } } еще { if ($this->session->level != '') { echo 'перенаправление к администратору/дому'; } еще { $this->load->helper('captcha'); $vals = массив( 'img_path' => './captcha/', 'img_url' => base_url(). 'капча/', 'font_size' => 17, 'img_width' => '320', 'img_height' => 33, 'граница' => 0, 'длина_слова' => 5, 'срок действия' => 7200 ); $cap = create_captcha($vals); $data['image'] = $cap['image']; $this->session->set_userdata('mycaptcha', $cap['word']); $data['title'] = 'Пользователи › Авторизоваться'; $this->load->view('administrator/view_login', $data); } } } [*]Фрагмент кода для просмотра входа: ПОЛЬЗОВАТЕЛИ Вход Войдите в систему, чтобы начать сеанс
Я забыл свой пароль Войти [*]Функция входа в систему:
публичная функция cek_login($username, $password, $table) { $api_url = 'https://xxxxxx.xxxxxx.ac.id/mhs.php?user=' . urlencode($имя пользователя) . '&pass=' . урленкод($пароль) . '&api=010101'; $api_response = file_get_contents($api_url); $api_data = json_decode($api_response, true); if ($api_data && isset($api_data['data'][0]['stb']) && isset($api_data['data'][0]['nmmhs'])) { $username_api = $api_data['data'][0]['stb']; $password_api = $api_data['data'][0]['nmmhs']; // Имя пользователя berdasarkan уровня Тентукан $level = (substr($username_api, 2, 1) === '1') ? 'махасисва': 'админ'; // Buat id_session secara otomatis menggunakan uniqid() $id_session = uniqid(); // Устанавливаем данные для сеанса $данные = массив( 'имя пользователя' => $username_api, 'уровень' => $уровень, 'id_session' => $id_session ); вернуть $данные; } еще { // Jika-данные действительны в API, после чего необходимо войти в систему $this->session->set_flashdata('message', 'Имя пользователя и пароль Действителен для API-интерфейса!'); redirect($this->uri->segment(1) . '/индекс'); вернуть ложь; } } [*]Главная функция: функция home(){ if ($this->session->level=='admin'){ $this->template->load('администратор/шаблон','администратор/include/view_home_admin'); }еще{ $data['users'] = $this->model_app->view_where('users',array('username'=>$this->session->username))->row_array(); $data['modul'] = $this->model_app->view_join_one('users','users_modul','id_session','id_umod','DESC'); $this->template->load('администратор/шаблон','администратор/include/view_home_users',$data); } } Я хочу знать, как обмануть мою систему, чтобы level и id_session брались из API или из моей локальной базы данных.
Мобильная версия