m борются с данными Flash в CodeIgniter.
Я в основном хочу:
добавьте вопрос в базу данных, перенаправив пользователя обратно на страницу, покажите всплывающее сообщение о успехе «Ваш вопрос был создан»
Пока я могу успешно добавить категорию в db, и пользовательский ввод проверен правильно, только я не знаю, как создать сообщение об успешном всплытии. (Я не хочу загружать представление успеха), просто перенаправляй обратно туда, откуда они пришли, и покажите небольшое сообщение в верхнем углу или что-то в этом роде.
Являются ли данные флэш-памяти правильным способом?
Контроллер: –
$create_data = $this->input->post(); if(isset($create_data['question'])){ $this->load->model('Test_model', 'test'); $insert_status = $this->test->insertQuestions($create_data['question']); if($insert_status){ echo "Record Inserted"; } else{ echo "Insertion Failed"; } } $this->layout->view('test/create');
Данные Flash звучат как способ пойти. Вы могли бы сделать что-то вроде этого:
if($insert_status){ $notification = "Record Inserted"; } else { $notification = "Insertion Failed"; } $this->session->set_flashdata('notification', $notification); redirect('controller/method','refresh');
Затем обращайтесь к нему с помощью
$this->session->flashdata('notification');
Руководство является неоценимым источником информации такого рода.
function insert(){ $create_data = $this->input->post(); if(isset($create_data['question'])){ $this->load->model('Test_model', 'test'); $insert_status = $this->test->insertQuestions($create_data['question']); if($insert_status){ //echo "Record Inserted"; $this->session->set_flashdata('msg', 'Record Inserted'); //set session flash redirect('controller_name/insert', 'refresh'); } else{ //echo "Insertion Failed"; $this->session->set_flashdata('msg', 'Insertion Failed'); //set session flash redirect('controller_name/insert', 'refresh'); } }else{ $this->layout->view('test/create'); } } ?>
На странице просмотра:
<p><?=$this->session->flashdata('msg')?></p>