Ошибка ajax при загрузке последней фотографии и обновлении поля «status_pendaftaran» - PullRequest
0 голосов
/ 26 октября 2018

Так что я хочу обновить поле status_pendaftaran, когда 3 фото уже есть. При загрузке фотографии и обновлении новое поле работает, но проблема в том, когда последняя фотография загружена и обновляется новое поле * 1002.* код запускается до состояния ошибки. Помогите мне сэмпай

Вот мой контроллер:

public function validate_3()
{
  $data = array('stat' => 0);

  $cond = $this->session->userdata('no_pendaftaran');

$cek = $this->db->query("SELECT foto_siswa, foto_skhun, foto_raport FROM t_calon_siswa WHERE no_pendaftaran = '$cond'")->row();

$this->load->library('upload');

$config['upload_path'] = './assets/upload';
$config['allowed_types'] = 'jpg|png|jpeg';
$config['max_size'] = 3072;
$config['file_name'] = $cond.uniqid();

// Foto Siswa
if (isset($_FILES['foto_siswa']['name']) && !empty($_FILES['foto_siswa']['name']))
{
    $this->upload->initialize($config);
    if ($this->upload->do_upload('foto_siswa'))
    {
        unlink('assets/upload/'. $cek->foto_siswa);
        $foto1 = $this->upload->data();
        $data1 = array('foto_siswa' => $foto1['file_name']);

        if ($this->magic->update('t_calon_siswa', $data1, array('no_pendaftaran' => $cond)))
        {
            $this->session->set_flashdata('success', 'Data Berhasil Di Rubah.');
        }
    }
    else
    {
        $this->session->set_flashdata('foto_siswa', $this->upload->display_errors('<p class="text-danger">', '</p>'));
    }
}

// Foto SKHUN
if (isset($_FILES['foto_skhun']['name']) && !empty($_FILES['foto_skhun']['name']))
{
    $this->upload->initialize($config);
    if ($this->upload->do_upload('foto_skhun'))
    {
        unlink('assets/upload/'. $cek->foto_skhun);
        $foto2 = $this->upload->data();
        $data2 = array('foto_skhun' => $foto2['file_name']);

        if ($this->magic->update('t_calon_siswa', $data2, array('no_pendaftaran' => $cond)))
        {
            $this->session->set_flashdata('success', 'Data Berhasil Di Rubah.');
        }
    }
    else
    {
        $this->session->set_flashdata('foto_skhun', $this->upload->display_errors('<p class="text-danger">', '</p>'));
    }
}

// Foto Raport
if (isset($_FILES['foto_raport']['name']) && !empty($_FILES['foto_raport']['name']))
{
    $this->upload->initialize($config);
    if ($this->upload->do_upload('foto_raport'))
    {
        unlink('assets/upload/'. $cek->foto_raport);
        $foto3 = $this->upload->data();
        $data3 = array('foto_raport' => $foto3['file_name']);

        if ($this->magic->update('t_calon_siswa', $data3, array('no_pendaftaran' => $cond)))
        {
            $this->session->set_flashdata('success', 'Data Berhasil Di Rubah.');
        }
    }
    else
    {
        $this->session->set_flashdata('foto_raport', $this->upload->display_errors('<p class="text-danger">', '</p>'));
    }
}

$cek1 = $this->db->query("SELECT status_pendaftaran, foto_siswa, foto_skhun, foto_raport FROM t_calon_siswa WHERE no_pendaftaran = '$cond'")->row();

if ($cek1->status_pendaftaran == 3 && !empty($cek1->foto_siswa) && !empty($cek1->foto_skhun) && !empty($cek1->foto_raport))
{
    $datanya = array(
        'status_pendaftaran' => '4'
    );

    if ($this->magic->update('t_calon_siswa', $datanya , array('no_pendaftaran' => $cond)))
    {
        $data['stat'] = 1;
    }
}   

echo json_encode($data);

}

и вот код ajax:

$('#btn-document').on('click', function(){
    var form = $('#register-document');
    if ($('#foto_siswa').val() == '' && $('#foto_skhun').val() == '' && $('#foto_raport').val() == '')
    {
        $('#modal_alert').modal('open'); 
    }
    else
    {
        $.ajax({
            type: 'POST',
            data: new FormData(form[0]),
            url: form.attr('action'),
            dataType: 'JSON',
            contentType: false,
            cache: false,
            processData: false,
            success: function(response){
                if (response.stat == 0)
                {
                    location.reload();
                }
                else
                {
                    window.location.href = base_url+'user/profil';
                }
            },
            error: function(error){
                alert('Terjadi Error');
                console.log(error);
            }
        });
    }

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