Как установить разные флэш-сообщения для одной и той же операции обновления в CodeIgniter? - PullRequest
1 голос
/ 13 апреля 2019

Я обновляю поле в моей таблице базы данных, которое либо пустое, либо уже содержит текст. Если он пуст после обновления флэш-сообщение должно быть похоже на ' Ваше вступление добавлено ' еще как ' Ваше вступление обновлено '.

Таблица образцов

Это мой контроллер

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 Ответ

2 голосов
/ 13 апреля 2019

Есть разные методы для достижения этой цели, один из них ниже

в поле зрения

 <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');
}
...