почему проверка моего имени пользователя не работает? - PullRequest
0 голосов
/ 20 марта 2019

Ну, я просто добавляю ветвь 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>';
    }
    }

Я бы хотел поблагодарить вас, потому что вы мне здесь помогли. Я только начинающий, пожалуйста, помогите мне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...