Data tidak dapat diupdate, sehingga tidak masuk ke direktori maupun database

1. Bagian controllers

public function edit($id = null)
    {
        if (!isset($id)) redirect('admin/products');
        $product = $this->product_model;
        $validation = $this->form_validation;
        $validation->set_rules($product->rules());


        if ($validation->run()) {
            $product->update();
            $this->session->set_flashdata('success', 'Berhasil disimpan');
        }

        $data["product"] = $product->getById($id);
        if (!$data["product"]) show_404();

        $this->load->view("admin/product/edit_form", $data);

    }

2. Bagian Models

public function save($post)
    {

        $this->product_id = uniqid();
        $this->name = $post["name"];
        $this->price = $post["price"];
        $this->image = $this->_uploadImage();
        $this->description = $post["description"];
        return $this->db->insert($this->_table, $this);

    }

    public function update()
    {
        $post = $this->input->post();
        $this->product_id = $post["id"];
        $this->name = $post["name"];
        $this->price = $post["price"];
        $this->description = $post["description"];
        return $this->db->update($this->_table, $this, array('product_id' => $post['id']));


        if (!empty($_FILES["image"]["name"])) {
            $this->image = $this->_uploadImage();
        } else {
            $this->image = $post["old_image"];
        }
    }

3. Bagian Views

<form action="" method="post" enctype="multipart/form-data">
						<!-- Note: atribut action dikosongkan, artinya action-nya akan diproses
							oleh controller tempat vuew ini digunakan. Yakni index.php/admin/products/edit/ID --->

							<input type="hidden" name="id" value="<?php echo $product->product_id?>" />

							<div class="form-group">
								<label for="name">Name*</label>
								<input class="form-control <?php echo form_error('name') ? 'is-invalid':'' ?>"
								 type="text" name="name" placeholder="Product name" value="<?php echo $product->name ?>" />
								<div class="invalid-feedback">
									<?php echo form_error('name') ?>
								</div>
							</div>

							<div class="form-group">
								<label for="price">Price</label>
								<input class="form-control <?php echo form_error('price') ? 'is-invalid':'' ?>"
								 type="number" name="price" min="0" placeholder="Product price" value="<?php echo $product->price ?>" />
								<div class="invalid-feedback">
									<?php echo form_error('price') ?>
								</div>
							</div>

							<div class="form-group">
								<label for="name">Photo</label>
								<input class="form-control-file <?php echo form_error('image') ? 'is-invalid':'' ?>"
								 type="file" name="image" />
								<input type="hidden" name="old_image" value="<?php echo $product->image ?>" />
								<div class="invalid-feedback">
									<?php echo form_error('image') ?>
								</div>
							</div>

							<div class="form-group">
								<label for="name">Description*</label>
								<textarea class="form-control <?php echo form_error('description') ? 'is-invalid':'' ?>"
								 name="description" placeholder="Product description..."><?php echo $product->description ?></textarea>
								<div class="invalid-feedback">
									<?php echo form_error('description') ?>
								</div>
							</div>

							<input class="btn btn-success" type="submit" name="btn" value="Save" />
						</form>

avatar veniapputrii
@veniapputrii

1 Kontribusi 0 Poin

Diperbarui 4 tahun yang lalu

2 Jawaban:

Action yang ada diform nya itu belum diisi... coba disi terlebih dahulu...

<pre> &lt;form action="base_url('nama_controller/edit')" method="post" enctype="multipart/form-data"&gt; </pre>

atau kalau masih pake index.php

<pre> &lt;form action="base_url('index.php/nama_controller/edit')" method="post" enctype="multipart/form-data"&gt; </pre>

avatar ruddy
@ruddy

3 Kontribusi 2 Poin

Dipost 4 tahun yang lalu

Dibagian view itu kan ada post, nah lokasi postnya belum di definisikan ke mana. Maka dari itu belum masuk ? Coba di isi dulu tujuan post nya

avatar bayurahmat
@bayurahmat

2 Kontribusi 0 Poin

Dipost 4 tahun yang lalu

Login untuk ikut Jawaban