jeudi 10 mai 2018

cannot insert data to database using form validation codeigniter

i'm new in web programming, especially with codeigniter framework. i want to insert data to database. i don't know why it suddenly doesn't work. here's my code.

view (pelaporan.php)

<?php echo form_open_multipart('pelaporan');?>

    <div class="row">
        <div class="box-body">
            <div class="form-group">
                <label class="col-sm-4 control-label" style="text-align:left">Subjek</label>
                <div class="col-sm-8">
                    <input type="text" class="form-control" name="subjek" placeholder="Subjek Laporan" value="<?php echo set_value('subjek'); ?>"required>
                    <?php echo form_error('subjek'); ?>
                </div>
            </div><br/><br/>
            <div class="form-group">
                <label class="col-sm-4 control-label" style="text-align:left">Isi</label>
                <div class="col-sm-8">
                    <textarea class="form-control" name="teks" placeholder="Isi Laporan" value="<?php echo set_value('teks'); ?>" required></textarea>
                    <?php echo form_error('teks'); ?>
                </div>
            </div><br/><br/><br/>
            <div class="form-group">
                <label class="col-sm-4 control-label" style="text-align:left">Lampiran</label>
                <div class="col-sm-8">
                    <input type="file" class="form-control" name="attch">
                    <p class="help-block">Sertakan gambar sebagai lampiran.</p>
                </div>
           </div><br/><br/><br/>                                    
        </div>

        <div class="box-footer">
            <div class="col-sm-4">
                <button type="submit" class="btn btn-primary center" name="kirim" value="kirim" style="margin-left:15px">Kirim</button>
            </div>
        </div>
    </div>

<?php echo form_close(); ?>

controller (home.php):

public function input_laporan(){
    $this->load->library('form_validation');

    $this->form_validation->set_error_delimiters('<p style="color:red;">', '</p>');

    $this->form_validation->set_rules('subjek', 'Subjek Laporan', 'trim|required');
    $this->form_validation->set_rules('teks', 'Isi Laporan', 'trim|required');


    if ($this->form_validation->run() == FALSE) {
        $data['page'] = 'pelaporan';
        //$data['id'] = $id;
        $this->load->view('home/master', $data);
    } else {
        $config['upload_path']    = './assets/img/laporan/';
        $config['allowed_types']  = 'gif|jpg|png';
        $config['remove_spaces']  = FALSE;

        //load upload library
        $this->load->library('upload' , $config);

        if ( ! $this->upload->do_upload('attch')){
            $error = array('error' => $this->upload->display_errors());
            $this->load->view('pelaporan', $error);
        }else{
          $imgData = array('upload_data' => $this->upload->data());
          $this->Home_model->inputLaporan($imgData);
        }

        //$this->session->set_userdata('kode_laporan');
        $data['message'] = 'Laporan berhasil dikirim!';
        $data['redir'] = 'historilaporan/';
        $data['page'] = 'pelaporan';
        $this->load->view('home/master', $data);

    }

model (Home_model.php):

public function inputLaporan($imgData)
{
    $data = array(
        'tanggal'       => date("Y-m-d"),
        'id_pengirim'   => $this->session->userdata('id'),
        'subjek'        => $this->input->post('subjek'),
        'teks'          => $this->input->post('teks'),
        'attch'         => $imgData['upload_data']['file_name'],    
        'status'        => "0",
        'status2'       => "Aktif"
    );

    return $this->db->insert('laporan', $data);
}

it redirects to form page, but nothing is added to the database. i'm pretty sure that there's something wrong, but i don't what it is. please help me out. thankyou :)




Aucun commentaire:

Enregistrer un commentaire