upload image got error in codeigniter -
what im trying im trying upload image database dont know reason why i've got error
message: undefined index: userfile message: undefined variable: images in view. can see name of input file set array same other tutorial
<!-- bootstrap modal --> <div class="modal fade" id="modal_form" role="dialog"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="close"><span aria-hidden="true">×</span></button> <h3 class="modal-title">person form</h3> </div> <div class="modal-body form"> <form action="#" id="form" class="form-horizontal"> <input type="hidden" value="" name="id"/> <div class="form-body"> <div class="form-group"> <label class="control-label col-md-3">first name</label> <div class="col-md-9"> <input name="firstname" placeholder="first name" class="form-control" type="text"> <span class="help-block"></span> </div> </div> <div class="form-group"> <label class="control-label col-md-3">image</label> <div class="col-md-9"> <input type="file" name="userfile[]" id="file" class="form-control"> <span class="help-block"></span> </div> </div> <div class="form-group"> <label class="control-label col-md-3">gender</label> <div class="col-md-9"> <select name="gender" class="form-control"> <option value="">--select gender--</option> <option value="male">male</option> <option value="female">female</option> </select> <span class="help-block"></span> </div> </div> <div class="form-group"> <label class="control-label col-md-3">address</label> <div class="col-md-9"> <textarea name="address" placeholder="address" class="form-control"></textarea> <span class="help-block"></span> </div> </div> <div class="form-group"> <label class="control-label col-md-3">date of birth</label> <div class="col-md-9"> <input name="dob" placeholder="yyyy-mm-dd" class="form-control datepicker" type="text"> <span class="help-block"></span> </div> </div> </div> </form> </div> <div class="modal-footer"> <button type="button" id="btnsave" onclick="save()" class="btn btn-primary">save</button> <button type="button" class="btn btn-danger" data-dismiss="modal">cancel</button> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> <!-- end bootstrap modal in controller.
public function image() { $files = $_files; $cpt = count($_files['userfile']['name']); //this line has error, message: undefined index: userfile for($i=0; $i<$cpt; $i++) { $_files['userfile']['name']= $files['userfile']['name'][$i]; $_files['userfile']['type']= $files['userfile']['type'][$i]; $_files['userfile']['tmp_name']= $files['userfile']['tmp_name'][$i]; $_files['userfile']['error']= $files['userfile']['error'][$i]; $_files['userfile']['size']= $files['userfile']['size'][$i]; $this->upload->initialize($this->set_upload_options()); $this->upload->do_upload(); $filename = $_files['userfile']['name']; $images[] = $filename; } $filename = implode(',',$images); // line has error, message: undefined variable: images return $filename; } public function ajax_add() { $this->_validate(); $data = array( 'firstname' => $this->input->post('firstname'), //'lastname' => $this->input->post('lastname'), 'gender' => $this->input->post('gender'), 'address' => $this->input->post('address'), 'dob' => $this->input->post('dob'), 'image' => $this->input->post($this->image()), ); $insert = $this->person->save($data); echo json_encode(array("status" => true)); } private function set_upload_options() { // upload image options $config = array(); $config['upload_path'] = './upload/'; //give path upload image in folder $config['allowed_types'] = 'gif|jpg|png'; $config['max_size'] = '0'; $config['overwrite'] = false; return $config; } public function ajax_update() { $this->_validate(); $data = array( 'firstname' => $this->input->post('firstname'), // 'lastname' => $this->input->post('lastname'), 'gender' => $this->input->post('gender'), 'address' => $this->input->post('address'), 'dob' => $this->input->post('dob'), ); $this->person->update(array('id' => $this->input->post('id')), $data); echo json_encode(array("status" => true)); } i want insert image name database errors block me that... need help.
in ajax request please add
$("#form").submit(function(e){ e.preventdefault(); var fd = new formdata(); $.ajax({ xhr: function() { var xhrobj = $.ajaxsettings.xhr(); return xhrobj; }, data: formdata, on.... //ajax close }); and dont forgot use
enctype="multipart/form-data" on form tag...and fine
for undefined variable: images
please put
$images = array();// before loop. $cpt = count($_files['userfile']);
Comments
Post a Comment