я использую следующий код для проверки публикации данных, но данные публикации всегда пусты, я пытался протестировать с помощью почтальона, но это не сработало, ниже приведен тестовый код, который я написал, но он всегда переходит в блок 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. Посоветуйте, как мне отсортировать
я всегда получаю следующий ответ






К счастью, я работаю над банкоматом проекта 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;
}
$lang= $this->input->post['lang'];неправильный, правильный$lang= $this->input->post('lang');