Image Load

Hello world,

Sebelumnya karena saya sudah coba menulis tentang bagaimana menampilkan data dari database dengan Codeigniter part 1 dan part 2 dimana kita menggunakan Model, View dan Controller, maka kali ini kita harus mencoba menginput data ke database dengan Codeigniter yang nantinya akan dilanjutkan dengan update dan delete (atau orang biasa menyebutnya dengan CRUD) agar bisa membuat website yang memiliki data yang dinamis. Akan tetapi untuk contoh kali ini saya hanya membuat contoh sederhana saja. Karena untuk membuat dashboard atau halaman pengelolaan data website kita harus membuat versi yang memiliki hak akses login yang mengharuskan admin untuk login terlebih dahulu agar tidak semua orang bisa mengelola websitenya. Mungkin lain kali akan saya buat juga contoh sistem loginnya.

Kali ini contohnya hanya sebatas membuat halaman form input dan proses inputnya saja ya. Selain agar bisa lebih mudah dipahami, ini juga agar contoh kali ini tidak terlalu panjang dan ribet. Oke langsung saja kita mulai dengan membuat Controller dan view form inputnya. Data  yang kita pakai masih sama dengan database yang kita pakai pada contoh sebelumnya (cek di sini).

Controller. kita beri nama Dashboard.php pada folder application/controllers/ seperti berikut.

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Dashboard extends CI_Controller {
public function __construct()
{
parent::__construct();;
$this->load->helper('url');
}    
public function index()
{
$this->load->view('header');
$this->load->view('forminput');
$this->load->view('footer');
}
}

Kemudian kita buat view-nya pada application/views dengan nama forminput.php dengan kode seperti berikut.

<!-- Main Content -->
<div class="container">
<div class="row">
<div class="col-lg-8 col-md-10 mx-auto">
<form method="post" action="<?=base_url()?>dashboard/simpandata">
<div class="form-group">
<label>Judul</label>
<input type="text" name="judul" class="form-control" required>
</div>
<div class="form-group">
<label>Konten</label>
<textarea name="konten" class="form-control" required></textarea>
</div>
<div class="form-group">
<label>Tanggal</label>
<input type="date" name="tanggal" class="form-control" required>
</div>
<button type="submit" class="btn btn-primary">Simpan</button>
</form>
</div>
</div>
</div>

<hr>

Di sini kita pakai format dari bootstrap karena template yang kita gunakan memang bootstrap. Jika bingung bisa coba ikuti dari awal seri ini dari sini karena contoh yang saya gunakan ini melibatkan template html dengan bootstrap. Untuk melihat hasilnya buka pada url http://localhost/codeigniter-modul/dashboard/. oke lanjut.

Karena form sudah sesuai dengan data yang digunakan pada database kita maka kita tinggal membuat prosesnya saja. Perlu diperhatikan juga action pada form yang akan mengarahkan kita ke method yang akan memproses data kita dan name pada setiap inputannya juga harus sesuai (tanda kuning). Selanjutnya kita buat prosesnya kira-kira seperti berikut ini.

    public function simpandata()
{
$data = array(
'judul' => $this->input->post('judul'),
'konten' => $this->input->post('konten'),
'tanggal' => $this->input->post('tanggal'),
);

$this->db->insert('blog', $data);

redirect('dashboard');
}

Penamaan pada tanda hijau di atas sesuai  dengan penamaan pada 'name' yang ada pada form. Jangan lupa tambahkan juga $this->load->database(); pada controller sehingga menjadi seperti berikut.

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Dashboard extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->helper('url');
$this->load->database();
}
public function index()
{
$this->load->view('header');
$this->load->view('forminput');
$this->load->view('footer');
}
public function simpandata()
{
$data = array(
'judul' => $this->input->post('judul'),
'konten' => $this->input->post('konten'),
'tanggal' => $this->input->post('tanggal'),
);

$this->db->insert('blog', $data);

redirect('dashboard');
}
}

Sampai di sini selesai bisa langsung dites apakah datanya masuk ke database atau tidak dan bisa dilihat juga di halaman http://localhost/codeigniter-modul/.


Selamat mencoba :)