#php #codeigniter-3 #flash-message
#php #codeigniter-3 #flash-сообщение
Вопрос:
Я обновляю поле в моей таблице db, которое либо пусто, либо уже содержит некоторый текст. Если оно пустое после обновления, флэш-сообщение должно быть похоже на «Добавлено ваше вступление«, иначе как «обновлено ваше вступление«.
Это мой контроллер
function intro(){
$user_id = $this->session->userdata('user_id');
$table = 'users';
$this->load->model('my_model');
if($_POST){
date_to_save['intro'] = $this->input->post('intro');
$this->my_model->update($table, $user_id, $data_to_save);
$this->session->set_flashdata('success', 'Intro added');
//$this->session->set_flashdata('success', 'Intro updated');
redirect('Home');
}
else{
$data = array();
if($this->my_model->get($table, $user_id)){
$data['intro'] = $this->my_model->get($table, $user_id);
}
$this->load->view('intro',$data);
}
}
И вот мой пример просмотра
<form>
My Intro:<br>
<input type="text" name="intro" value="<?php isset($_POST['intro'])? $_POST['intro'] :'';?>"><br>
<input type="submit" id="submit" value="Submit">
</form>
Я новичок и ищу простое решение.
Ответ №1:
Для достижения этой цели существуют разные методы, один из которых приведен ниже
в поле зрения
<input type="hidden" name="mode" value="<?php isset($_POST['intro'])? 'edit' :'add';?>">
и в вашем контроллере
if($_POST['mode']=='add'){
$this->session->set_flashdata('success', 'Intro added');
}
else{
$this->session->set_flashdata('success', 'Intro updated');
}