Codeigntier: данные публикации не работают в API Codeigntier

я использую следующий код для проверки публикации данных, но данные публикации всегда пусты, я пытался протестировать с помощью почтальона, но это не сработало, ниже приведен тестовый код, который я написал, но он всегда переходит в блок else, я пытался написать еще, если как хорошо, но это не сработало

class Api_home extends CI_Controller{
    function __construct(){
        parent::__construct();

        $this->load->model('Api_model','api');
        $this->load->helper('form');
            $data= array(
                'message'   => ' Something went wrong', 
                'status'    =>1, 
                'data'      =>'', 
            ); 
    }
        public function test(){

            $lang= $this->input->post['lang'];
            if ($lang= = "ar"){
                $this->data['message']= 'Arabic test';
            } 
                    //else if 
                   // else if ($lang= = "en")
            else{
                $this->data['message']= 'English test';
            }
            $data['status']= 1 ; 


            echo json_encode($data,true); 
                    die;
    }

он всегда переходит в версию en, даже если я публикую ar, если я делаю var_dump для опубликованных данных, это дает мне false. Посоветуйте, как мне отсортировать

я всегда получаю следующий ответ

$lang= $this->input->post['lang']; неправильный, правильный $lang= $this->input->post('lang');
Ali Qorbani 02.02.2019 10:54
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
38
2

Ответы 2

К счастью, я работаю над банкоматом проекта CI, поэтому проверить это не составило особых усилий.

Во-первых, вы использовали неправильные скобки для $lang = $this->input->post['lang'];, поэтому он просто не доволен, но не выдает ошибку, не знаю почему.

Вы должны изменить его на:

$lang = $this->input->post('lang'); Обратите внимание на изогнутые скобки.

Во-вторых, я не уверен, намеренно это или нет, но на самом деле у вас есть две разные переменные $data:

$this->data и $data. Значит echo json_encode($data, true); показывает только то, что в нем есть, возможно вы имели ввиду echo json_encode($this->data, true);

Наконец, в приведенном выше фрагменте кода отсутствует завершающая закрывающая фигурная скобка, надеюсь, она не отсутствует в исходном коде!

Надеюсь, это поможет решить вашу проблему =)

попробуйте вернуть вывод json:

 public function test(){
   $lang= $this->input->post['lang'];
            if ($lang= = "ar"){
                $message= 'Arabic test';
return parent::json_output(['code' => '1', 'message' => 'Succesful', 'data' => $message]);
            } 
                    //else if 
                   // else if ($lang= = "en")
            else{
                $message= 'English test';
return parent::json_output(['code' => '2', 'message' => 'Succesful', 'data' => $message]);
            }
            $data['status']= 1 ; 
  echo json_encode($data,true); 
                    die;
    }

Другие вопросы по теме