Как обновить изображения с помощью codeigniter - PullRequest
0 голосов
/ 07 февраля 2019

У меня проблема, когда я хочу обновить изображение.Процесс обновления прошел успешно, но изображение не может быть обновлено.
Пожалуйста, помогите.Спасибо.

Вот вид:

<?php echo form_open('update'); ?>
<input type="hidden" name="id" value="<?php echo $data->id; ?>">
<input type="hidden" id="old" name="old" value="<?php echo $data->image;?>">

<div class="form-group">
<label>Name</label>
<input type="text" class="form-control" name="name" value="<?php echo $data->name; ?>">
</div>

<div class="form-group">
    <label>Change Image</label>
    <input class="form-control" type="file" name="image">
</div>      
<button type="submit" class="btn btn-default">Submit</button>

Вот контроллер:

public function Update(){ 
$id = $this->input->post('id');
$name = $this->input->post('name');

if($_FILES['image']['name']!=""){
    $config['upload_path']   = './image/';
    $config['allowed_types'] ='gif|jpg|png|jpeg|';
    $this->load->library('upload', $config); 

    if(!$this->upload->do_upload('image')){
        $error = array('error' => $this->upload->display_errors());
    }else{
        $upload_data=$this->upload->data();
        $image_name =$upload_data['file_name'];
    }
}else{
    $image_name=$this->input->post('old');
}
$data = array( 'name'   => $name, 'image'  => $image_name, );

$ this-> model_user-> update_user ($данные, $ ID);}

Вот модель:

public function update_user($data, $id)
{
    $this->db->where('id', $id);
    $this->db->update('tabel_user', $data);
    return TRUE;
}

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Во-первых, убедитесь, что имена ваших столбцов совпадают со значениями ключей массива
Попробуйте эти,

public function update_user($data, $id)
{
    echo'<pre>';print_r($data);
    $this->db->where('id', $id);
    $flag = $this->db->update('tabel_user', $data);
    echo $flag;die;

}

$ flag покажет вам True или False

0 голосов
/ 07 февраля 2019

Вы указали дозу не ошиблись.но вы используете какой-то нежелательный ввод.попробуйте отладить ваш код.в модели до возврата

public function update_user($data, $id)
{
    $this->db->where('id', $id);
    $this->db->update('tabel_user', $data);
    echo $this->db->last_query();
    echo "</br> id : ".$id;
    print_r($data); EXIT;
}

, если вы получите запрос на печать.проверьте, что вы пропустили.если вы не в контроллере после строки $error = array('error' => $this->upload->display_errors());, установите print_r ($ error);выход;

и, возможно, вы забыли упомянуть несколько частей на ваш взгляд.

сделайте эти три вещи, надеясь, что вы найдете, что не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...