-2

I'm trying to update my information: In the localhost it is not error variable: img, but when i upload it into the server it is error like that A PHP Error was encountered:

Severity: Notice Message: Undefined variable: img Filename: controllers/pages.php Line Number: 79....

function update_ads($id)
    {
        if($this->input->post('update_ads'))
            {
                $this->db->select('img');
                $this->db->where('id',$id);
                $query = $this->db->get('tblp_label_slides',$id);
                foreach($query->result() as $row)
                {
                    $img = $row->img;
                    $image = $this->session->set_userdata('img', $img);
                }
                if($img!='')
                {
                    $config['upload_path'] ='./images/ads';
                    $config['allowed_types'] ='jpg|jpeg|gif|png';
                    $config['max_size'] = 1024*8;
                    $config['encrypt_name'] = true;
                    $this->upload->initialize($config);
                    $this->load->library('upload', $config);
                    if(!$this->upload->do_upload('imgfile'))
                    {
                        $edit['update'] = $this->mod_write->up_adv($this->session->userdata('img'), $id);
                        $this->session->set_flashdata(array('success_update' => 12));
                        redirect('pages/ads_right');
                    }
                    else
                    {
                        $img_content = $this->upload->data('imgfile');
                        $edit['update'] = $this->mod_write->up_adv($img_content['file_name'], $id);
                        unlink("./images/ads/".$img);
                        $this->session->set_flashdata(array('success_update' => 12));
                        redirect('pages/ads_right');
                    }
                }
                else
                {
                    $config['upload_path'] = './images/ads';
                    $config['allowed_types'] = 'jpg|jpeg|gif|png';
                    $config['max_size'] = 1024*8;
                    $config['encrypt_name'] = true;
                    $this->upload->initialize($config);
                    $this->load->library('upload', $config);
                    if(! $this->upload->do_upload('imgfile'))
                    {
                        $edit['update'] = $this->mod_write->up_adv('', $id);
                        $this->session->set_flashdata(array('success_update' => 12));
                        redirect('pages/ads_right');
                    }
                    else
                    {
                        $img_content = $this->upload->data('imgfile');
                        $edit['update'] = $this->mod_write->up_adv($img_content['file_name'], $id);
                        unlink("./images/ads/".$img);
                        $this->session->set_flashdata(array('success_update' => 12));
                        redirect('pages/ads_right');
                    }
                }
            }
    }

my model

function up_adv($img_content)
    {
        $id = $this->uri->segment(3);
        $data = array(
            'dates'=>date('Y-m-d H:i:s'),
            'url'=>replace_tag($this->input->post('url')),
            'title'=>replace_tag($this->input->post('title')),
            'img'=>$img_content,
            'type'=>$this->input->post('type')
        );
        $this->db->where('id',pde($id))
                 ->update('tblp_label_slides',$data);
    }
moffeltje
  • 4,521
  • 4
  • 33
  • 57

1 Answers1

0

I could be wrong but I think the issue how you are validating $img.

Change if ($img != '')

To if (isset($img) && trim($img) !== '')

This will stop an error being thrown if $img has not been declared which will happen if your query doesn't return any rows.

Hope this helps!

Rwd
  • 34,180
  • 6
  • 64
  • 78