Rabu, 03 Oktober 2018

Cara Buat Form Pada CodeIgniter Part 2

Pada pembahasan sebelumnya kita telah mengkonfigurasi dan memodifikasi MVC dari Codeigniter. Mari kita lanjutkan agar tutorial ini selesai. Langsung saja kita buat formnya. Tapi sebelum membuat formnya mari kita buat tabel pada database blog agar bisa tersimpan data yang kita inputkan dari form nantinya.
Masuk dulu mysql dan eksekusi sqlnya untuk membuat tabel post.Ini merupakan kode sqlnya :
USE blog;
CREATE TABLE post (no_post int(19) PRIMARY KEY AUTO_INCREMENT,penulis varchar(25) NOT NULL,judul varchar(30) NOT NULL,isi text NOT NULL,tanggal varchar(20) NOT NULL,waktu varchar(10) NOT NULL);

Bila terjadi error silahkan cek kembali query yang dimasukan. Tampilan diatas merupakan tanda bahwa telah berhasil membuat tabel post.
Dalam pembuatan form di codeigniter ini kita akan memodifikasi file homepage.php pada folder viewsnya terlebih dahulu. silahkan buka file homepage.php. kemudian modifikasi.
<?php defined('BASEPATH') OR exit('No direct script access allowed'); ?><!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Input data in CodeIgniter</title>
<style type="text/css"> ::selection { background-color: #E13300; color: white; } ::-moz-selection { background-color: #E13300; color: white; } body { background-color: #fff; margin: 40px; font: 13px/20px normal Helvetica, Arial, sans-serif; color: #4F5155; } a { color: #003399; background-color: transparent; font-weight: normal; } h1 { color: #444; background-color: transparent; border-bottom: 1px solid #D0D0D0; font-size: 19px; font-weight: normal; margin: 0 0 14px 0; padding: 14px 15px 10px 15px; } code { font-family: Consolas, Monaco, Courier New, Courier, monospace; font-size: 12px; background-color: #f9f9f9; border: 1px solid #D0D0D0; color: #002166; display: block; margin: 14px 0 14px 0; padding: 12px 10px 12px 10px; } #body { margin: 0 15px 0 15px; } p.footer { text-align: right; font-size: 11px; border-top: 1px solid #D0D0D0; line-height: 32px; padding: 0 10px 0 10px; margin: 20px 0 0 0; } textarea{ width:550px; height:180px; } #container { margin: 10px; border: 1px solid #D0D0D0; box-shadow: 0 0 8px #D0D0D0; } </style> </head> <body> <div id="container"> <h1>Input postingan di blog!</h1> <p id="body"> <table class='table'> <form method="post" action="<?php echo base_url()."index.php/home/insert"; ?>"> <tr> <td>Penulis</td> <td>:</td> <td><input required type="text" name="penulis"></td> </tr> <tr> <td>Judul</td> <td>:</td> <td><input type="text" name="judul"></td> </tr> <tr> <td>Isi Content</td> <td>:</td> <td><textarea name="content"></textarea></td> </tr> <tr> <td><input colspan="3" class="btn btn-success" type="submit" name="submit" value="Simpan"></td> </tr> </form> </table> </p> </div> </body> </html>
Maka akan tampil form input post. Bila benar maka akan tampil seperti ini.
 Mari kita buat controllernya. Berdasarkan kode diatas kita gunakan fungsi insert di class home. Maka kita harus menambahkan fungsi insert tersebut di file Home.php.
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Home extends CI_Controller {         public function index()     {         $this->load->view('homepage');     } public function insert(){     $this->load->model('model'); $tanggal= date("Y-m-d"); $waktu= date("H:i:s");     $data = array(         'penulis' => $this->input->post('penulis'),         'judul' => $this->input->post('judul'),         'isi' => $this->input->post('content'),         'tanggal' => $tanggal,         'waktu' => $waktu          );     $data = $this->model->Insert('post', $data);     redirect(base_url(),'refresh'); } }
Dan kita membuat Model.php pada file models. Dan paste kode ini.
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Model extends CI_Model{     public function Insert($table,$data){         $res = $this->db->insert($table, $data); // Kode ini digunakan untuk memasukan record baru kedalam sebuah tabel         return $res; // Kode ini digunakan untuk mengembalikan hasil $res     } } ?>
Kita bisa cek dengan masuk ke mysql, pilih database blog dan eksekusi sql ini :
SELECT * FROM post;

Tidak ada komentar:

Posting Komentar