Доброго времени суток.
Требуется не заносить данные пустых полей в БД, если пользователь не заполнил поле.
Контроллер:
public function settings(){
$this->load->model('Users_Model');
$id = $this->session->userdata('id');
$this->data['get'] = $this->Users_Model->getuser($id);
$password = $this->_clean($this->input->post('password', FALSE));
$email = $this->_clean($this->input->post('email'));
$year = $this->_clean($this->input->post('year'));
if($password == ''){
return $this->load->view('user/settings', $this->data);
} else {
$this->form_validation->set_rules('password', 'Password', 'xss_clean');
$this->form_validation->set_rules('email', 'Email', 'xss_clean|trim');
$this->form_validation->set_rules('year', 'Year', 'xss_clean|required');
if($this->form_validation->run() === FALSE){
$this->data['msg'] = $this->pfunc->error_msg('Введенные вами данные не могут быть обновлены, т.к они не являются валидными.');
return $this->load->view('user/settings', $this->data);
} else {
if($this->Users_Model->update($id, $password, $email, $year)){
$this->data['msg'] = $this->pfunc->error_msg('Данные не были обновлены.');
return $this->load->view('user/settings', $this->data);
} else {
$this->data['msg'] = $this->pfunc->success_msg('Пользователь обновлен!');
return $this->load->view('user/settings', $this->data);
}
}
}
}
Модель:
public function update($id, $password, $email, $year){
$arr = array(
'password' => sha1(md5($password)),
'email' => $email,
'year' => $year
);
$this->db->where('id', $id);
$this->db->update('users', $arr);
}