1

POSTCodeIgniter で後でデータを編集したい。

問題は、編集を行うときに、編集が完了したことを知らせるメッセージを表示したいことです。以下を実行しようとしましたが、メッセージが表示されません。なんで?

コントローラ

function edit($id = 0) {

    $this->load->model('Event_Model');

    if ($id > 0) {
        $this->data['eventinfo'] = $this->Event_Model->getInfo($id);
    }
    $this->data['pagetitle'] = "Edit";
    $this->data['formID'] = $this->uri->segment(2)."-".$this->uri->segment(3);

    $this->template->build('admin/events/add',$this->data); 
}

function do_edit() {
    $this->load->model('Event_Model');
    $id = $this->input->post('hID');
    $data = array(
       'ev_text' => $this->input->post('ev_text'),
       'ev_pic' => $this->input->post('ev_pic'),
    );
    $this->Event_Model->update($id, $data);

    $this->data['success'] = "Done";
    $this->data['errors'] = $this->errors;
    $this->template->build('admin/events/add',$this->data);     
}

モデル

function update($id, $data) {
    $this->db->where('ev_id', $id);
    $this->db->update('events', $data); 
}

ビュー(メッセージが必要な場所)

<?php
    if (isset($success)) { ?>
        <div class="alert alert-success normal-alert" style="display: block;">
            <p><span class="ico-text ico-alert-success" ></span><?= $success; ?></p>
        </div>
<?php
    }

    if (isset($errors)) { ?>
        <div class="alert alert-error normal-alert" style="display: block;">
            <div>
                <span class="ico-text ico-alert-error"></span>

                <?php if (count($errors) > 0) { ?>
                    <ul>
                    <?php
                        foreach ($errors as $error) {
                            echo "<li>$error</li>";
                        }
                    ?>
                    </ul>

                <?php } ?>

                <div class="clear"></div>
            </div>
        </div>
    <?php  }  ?>

そして2番目のエラー、画像を含むデータの更新が機能しません。ダブリングでエラーが発生し、$_FILES['choose-file']['name']定義されていないと呼ばれます

4

1 に答える 1