php - Codeigniter Image Gone after re-login in but still saved in database -


i uploaded user photo in database , ('/uploads' folder) , able display everytime logged out when login again image/photo disappears.

logout

   public function logout() {     $newdata = array(     'id'   =>'',     'memberfname'  =>'',     'memberlname'  =>'',     'email'     => '',     'image'     => '',      'logged_in' => false,     );     $this->session->unset_userdata($newdata );     $this->session->sess_destroy();     $this->home(); }  

controller

  public function editphoto($id){   $data = array(   "action" => base_url('/index.php/memberlogincontroller/updatephoto/'.$id),              "data" => $this->db->get_where('member',array('id'=>$id))        );          $this->load->view('member/image', $data); }  public function upload($id) {      if ( (int)$id < 1)//$id not integer {     redirect('memberlogincontroller/member_view', 'refresh'); }     $this->load->helper(array('form','file','url'));     $this->load->library('form_validation');     $config_image = array(         'upload_path'   => './uploads/',         'allowed_types' => 'gif|jpg|png',         'max_size'      => '1024',         'overwrite'     => true        // 'max_width'     => '1024',        // 'max_height'    => '768',      );      $this->load->library('upload', $config_image);        if($this->form_validation->run()==false , empty($_files['userfile']['name'][0]))       {             $error = array(                 'error_image' => 'please choose image upload',             );         $this->load->view('member/image', $error);          }elseif($this->form_validation->run()==true , empty($_files['userfile']['name'][0])){         $error = array(                 'error_image' => 'please choose image upload',         );         $this->load->view('member/image', $error);         }elseif($this->form_validation->run()==false , !empty($_files['userfile']['name'][0])){             !$this->upload->data();              $error = array(                 'error_image' => '',         );         $this->load->view('member/image', $error);         }elseif($this->form_validation->run()==true , !empty($_files['userfile']['name'][0])){              $this->upload->do_upload();              $data = array('upload_data' => $this->upload->data());              $this->image->resize($data['upload_data']['full_path'], $data['upload_data']['file_name']);              $profile = array(                 'image' => $data['upload_data']['file_name']             );         $this->db->update('member',$profile,array('id'=>$id));                   $this->session->set_userdata($profile);          redirect('index.php/memberlogincontroller/getmember/'.$id, 'refresh');                 }         }        public function image_resize($path,$file){         $config_resize=array(         'image_library' => 'gd2',         'source_image' => $path,         'maintain_ratio' => true,         'width'=> 75,         'height'=>50,         'new_image'=>'./uploads/thumb/'.$file         );         $this->load->library('image_lib',$config_resize);         $this->image_lib->resize();      }       public function updatephoto($id){     if ((int)$id < 1)//$id not integer {     redirect('memberlogincontroller/member_view', 'refresh'); } else{     $this->load->helper(array('form','file','url'));     $this->load->library('form_validation');     $config_image = array(         'upload_path'   => './uploads/',         'allowed_types' => 'gif|jpg|png',         'max_size'      => '1024',         'overwrite'     => true         // 'max_width'     => '1024',        // 'max_height'    => '768',      );      $this->load->library('upload', $config_image);        if($this->form_validation->run()==false , empty($_files['userfile']['name'][0]))         {             $id = $this->session->userdata('id');             $memberinfo = array(                 'error_image' => '',             );         $this->load->model('memberloginmodel');         $memberinfo['memberinfo'] = $this->memberloginmodel->getmember($id);         $this->load->view('member/image',$memberinfo);           }         else         {              $this->upload->do_upload();              $data = array('upload_data' => $this->upload->data());              $this->image_resize($data['upload_data']['full_path'], $data['upload_data']['file_name']);              $id = $this->session->userdata('id');              $this->db->where('id', $id);              $query = $this->db->get('member');      /*      foreach($query->result() $row)         {             unlink('./uploads/'.$row->image);             unlink('./uploads/thumb/'.$row->image);         }        */               $data = array(                 'image' => $data['upload_data']['file_name']             );         $this->db->update('member',$data,array('id'=>$id));                   $this->session->set_userdata($data);          redirect('index.php/memberlogincontroller/getmember/'.$id, 'refresh');            }     }     } 

model

class memberloginmodel extends ci_model{  public function __construct() {     parent::__construct();     $this->load->helper(array('url','html','form')); } function login() {     $this->db->where('email',$this->input->post('email'));     $this->db->where('password', md5($this->input->post('password')));   $query = $this->db->get('member');  /*i added 'member' table on db new members*/         if($query->num_rows()>0)     {         foreach($query->result() $rows)         {             //add data session             $newdata = array(                     'id'            => $rows->id,                     'memberfname'   => $rows->memberfname,                     'memberlname'   => $rows->memberlname,                     'email'         => $rows->email,                      'logged_in'     => true                );         }             $this->session->set_userdata($newdata);             return true;                     }else{             return false;         }  }     public function add_user() {     $data = array(         'memberfname'=>$this->input->post('memberfname'),         'memberlname'=>$this->input->post('memberlname'),         'email'=>$this->input->post('email'),         'password'=>md5($this->input->post('password')),          );     $this->db->insert('member',$data); }  public function getmember($id) { $this->db->where('id', $id); $query = $this->db->get('member');  if ($query->num_rows() !== 1) {     return false; } return $query->row(); } 

upload image view

<form  action="<?php echo $action;?>" method="post" enctype="multipart/form-data">   // echo $action, refer memberlogincontroller/editphoto  <a href="#"><img height="200px" width="200px"src="<?php echo base_url().'/uploads/'.$this->session->userdata('image'); ?>">   <input type="file" name="userfile" />     <br /><br />  <input type="hidden" name="id" value="<?php echo $this->session->userdata('id'); ?>"/> <input type="submit" name="submit" id="submit" class="btn btn-primary"  value="upload" /> </form> 

userprofile view page

<div class="description">             <!--    <a href="#"><img height="200px" width="200px" src="<php echo base_url();?>uploads/no-avatar.jpg"></a>-->                  <a href="#"><img height="200px" width="200px"src="<?php echo base_url().'/uploads/'.$this->session->userdata('image'); ?>">                  </div> 

$this->session->userdata('image') 

is not set yet in $this->session->set_userdata($newdata);!

foreach($query->result() $rows)     {         //add data session         $newdata = array(                 'id'            => $rows->id,                 'memberfname'   => $rows->memberfname,                 'memberlname'   => $rows->memberlname,                 'email'         => $rows->email,                  'logged_in'     => true            );     } 

in $newdata should add 'image'


Comments