bang mau nanya dnk,
sry masih neubi sama CI.
gini, aku punya view (tidak ada masalah dengan View) sbb :
echo form_open_multipart(user/upload); echo form_fieldset('Upload Data'); echo "Get data : ".form_upload(array('name'=>'frm_upload','value'=>set_value('frm_upload'))); echo form_submit('submit_upload','Upload'); echo '<ul id="info_upload">Ketentuan upload : <li>File yang diupload harus ber-ekstensi *<span>.xls</span> (excell-spread sheet) </li> <li> bla-bla-bla </li></ul>'; echo form_fieldset_close(); echo form_close();
Trus di Controller (nama = USER) ane :
function upload(){ $this->data['main_view'] = 'setup/setup_upload'; $this->data['h2_title'] = 'Upload Data Dosen'; $this->form_validation->set_rules('frm_upload','Upload Item','callback_do_upload'); if($this->form_validation->run()==FALSE) $this->load->view('admin_page/template', $this->data); else echo "upload sukses!<br/>"; } function do_upload($field_upload){ echo "<script type='text/javascript'>alert('".$field_upload."');</script>"; return false; //<-- ane return false dulu gan /* bla - bla - bla (dan seterusnya)*/ }
Trus pas dicoba cek, ternyata parameter function do_upload() nya nilainya kosong gan!
dari javascript.alert() nya memberitahukan kalo $field_upload
bernilai kosong..
Gimana ya senior - senior CI disini, bisakah memberitahu saya..
dari UserGuide CodeIgniter memberitahukan parameter untuk $this->form_validation->set_rules('field name', [param 2 , [param 3] ]
, dan nama field sudah 100% sama.
Ini penting karena variabel tsb akan dipakai untuk $this->upload->do_upload($field_upload)
selanjutnya..
Setahu saya, library form_validation tidak berlaku untuk field type file.
error handling di fungsi file upload, menggunakan fungsi display_errors() yang ada di library upload..
contoh sederhananya bisa dilihat di http://codeigniter.com/user_guide/libraries/file_uploading.html
Maap gan klo ane lancang, maklum ane juga nubie...
Coba :
echo form_open_multipart(user/upload);
diganti jadi :
echo form_open_multipart('upload/do_upload');
Karena setau ane, itu udah dari CI-nya dan bukannya 'controller/function'.