Ну, я просто добавляю ветвь if, чтобы объявить, если имя пользователя уже существует в базе данных, поэтому имя пользователя недопустимо, но оно не отображает окно сообщения, которое говорит "имя пользователя недопустимо" вместо ошибка базы данных, как это:
Произошла ошибка базы данных
Номер ошибки: 1062
Дублирующаяся запись 'coba' для ключа 'username'
ОБНОВЛЕНИЕ user
SET nama
= 'cobi', username
= 'coba', password
= 'd41d8cd98f00b204e9800998ecf8427e', status
= '1' WHERE id_user
= '30'
Имя файла: C: /xampp/htdocs/farm_record/system/database/DB_driver.php
Номер строки: 691
function update(){
if($this->input->post('submit')){
$id_user = $this->input->post('id');
$username = $this->input->post('username');
$cek = $this->db->query("SELECT id_user, username, password, nama FROM user WHERE role = 'users' AND id_user = '$id_user'");
$cek2 = $this->db->query("SELECT username FROM user WHERE role = 'users' AND id_user = '$id_user' AND username='$username'");
if($cek2->num_rows() == 1){
echo '<script type="text/javascript">';
echo 'alert("Username is invalid.");';
echo 'window.location.href = "'.$_SERVER['HTTP_REFERER'].'";';
echo '</script>';
}elseif($cek->num_rows() == 1){
$nama = $this->input->post('nama');
$new_password = md5($this->input->post('new_password'));
$conf_password = md5($this->input->post('conf_password'));
$status = $this->input->post('status');
if(strlen($new_password) > 0){
if($new_password != $conf_password){
echo '<script type="text/javascript">';
echo 'alert("Failed to update, new password is invalid!");';
echo 'window.location.href = "'.$_SERVER['HTTP_REFERER'].'";';
echo '</script>';
}else{
$data_update = array(
'nama' => $nama,
'username' => $username,
'password' => $new_password,
'status' => $status
);
$this->db->where('id_user',$id_user);
$this->db->update('user',$data_update);
$this->session->set_flashdata('item', array('message' => 'Success!','color' => 'info'));
redirect('user');
}
}else{
$data_update = array(
'nama' => $nama,
'username' => $username,
'status' => $status
);
$this->db->where('id_user',$id_user);
$this->db->update('user',$data_update);
$this->session->set_flashdata('item', array('message' => 'Berhasil mengubah data!','color' => 'info'));
}
}else{
echo '<script type="text/javascript">';
echo 'alert("Failed to save!");';
echo 'window.location.href = "'.$_SERVER['HTTP_REFERER'].'";';
echo '</script>';
}
}else{
echo '<script type="text/javascript">';
echo 'alert("Failed to save!");';
echo 'window.location.href = "'.$_SERVER['HTTP_REFERER'].'";';
echo '</script>';
}
}
Я бы хотел поблагодарить вас, потому что вы мне здесь помогли. Я только начинающий, пожалуйста, помогите мне.