Tutorial Codeigniter Part 13, Penanganan Form & Form Validasi di Codeigniter
Selamat datang di warung belajar, pada tutorial ini kita akan melanjutkan seri tutorial codeigniter, kita akan membahas mengenai penanganan form serta form validasi yang ada di framework codeigniter.
Seperti yang kita ketahui form adalah elemen penting yang diperlukan untuk melakukan input data pada sebuah aplikasi.
Nah pada framework codeigniter, anda akan dipermudah untuk melakukan pemrosesan dari inputan, serta melakukan validasi atas inputan form yang dilakukan oleh pengguna aplikasi.
Semuanya telah disediakan oleh codeigniter, sehingga anda tidak perlu membuat fungsi – fungsi secara manual untuk membuat form validasi, baik langsung saja kita akan bahas satu persatu.
Mempersiapkan Framework Codeigniter
Pada contoh ini saya akan membuat project framework codeigniter dengan nama belajarform, untuk tutorial cara instalasi framwork codeigniter bisa anda lihat di tutorial kita sebelumnya : Cara Menginstall Framework Codeigniter
saya asumsikan teman – teman sudah berhasil menginstall framework codeigniter.
Setting Bagian Autoload & Config
Berikutnya kita akan load helper url, agar nantinya kita bisa menggunakan helper base_url dibagian value dari salah satu attribute form.
Buka file application/config/autoload.php
pada bagian autoload[‘helper’] tambahkan url, agar helper url otomatis dijalankan
1 |
$autoload['helper'] = array('url'); |
Buka file application/config/config.php
Berikutnya kita akan mengisikan dari nilai base_url, pada line 26 tuliskan skrip dibawah ini :
1 |
$config['base_url'] = 'http://localhost/belajarform/'; |
dimana bagian base_url ini diisi dengan alamat base url, karena dalam hal ini nama folder projectnya adalah belajar form, sehingga disini kita tulis dengan nama localhost/belajarform
Membuat Controller
Berikutnya kita akan membuat sebuah controller, dalam contoh ini kita buat dengan nama Pegawai.php, codenya adalah seperti berikut ini :
1 2 3 4 5 6 7 8 9 10 |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Pegawai extends CI_Controller { public function index() { $this->load->view('vw_form'); } } |
Keterangan :
- Perintah diatas digunakan untuk membuat class Pegawai sebagai controller
- Line 6 kita buat function index, dimana didalamnya kita load file view dengan nama vw_form.
Membuat File Form
Berikutnya kita akan membuat file view dengan nama vw_form, sesuai dengan nama file view yang di load dibagian function index pada controller Pegawai.
kita buat file dengan nama vw_form didalam folder application/views.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<!DOCTYPE html> <html> <head> <title></title> </head> <body> <form method="post" action="<?php echo base_url(); ?>index.php/pegawai/save"> <label>Nama : </label> <input type="text" name="nama"> <br/> <label>Email : </label> <input type="email" name="email"> <br/> <label>Jenis Kelamin : </label> <input type='radio' name='jenis_kelamin' value='pria' />Pria <input type='radio' name='jenis_kelamin' value='perempuan' />Perempuan<br/> <label>Agama : </label> <select name="agama"> <option value="islam">Islam</option> <option value="kristen">Kristen</option> <option value="katholik">Katholik</option> <option value="hindu">Hindu</option> <option value="budha">Budha</option> </select><br/> <label>Alamat : </label> <textarea name="alamat"></textarea><br/><br/> <input type="submit" name="tombol" value="Simpan"/> </form> </body> </html> |
Keterangan :
- Kita membuat form dengan perintah HTML seperti biasa.
- Perhatikan pada line 7 kita menggunakan tag form, dengan nilai attribute method adalah post
- Untuk attribute action pada tag form kita berikan nilai : “<?php echo base_url(); ?>index.php/pegawai/save”, yang artinya ketika tombol submit pada form diakses maka akan mengakses function save pada controller pegawai.
Untuk mengaksesnya kita gunakan alamat : localhost/belajarform/index.php/pegawai
Buat function save dibagian controller Pegawai
Berikutnya kita akan buat function save dibagian controller pegawai, function ini digunakan untuk memproses inputan pada bagian form saat tombol submit pada bagian form di klik.
Pada skenario ini, inputan dari bagian form, akan ditampilkan kembali dibagian file view dengan nama vw_pegawai.php
buka kembali controller dengan nama Pegawai.php dan tambahkan skrip pada function save, sehingga hasilnya adalah sebagai berikut :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Pegawai extends CI_Controller { public function index() { $this->load->view('vw_form'); } public function save() { $data['name'] = $this->input->post('nama'); $data['email'] = $this->input->post('email'); $data['jenis_kelamin'] = $this->input->post('jenis_kelamin'); $data['agama'] = $this->input->post('agama'); $data['alamat'] = $this->input->post('alamat'); $this->load->view('vw_pegawai',$data); } } |
Keterangan :
- Kita menambahkan function save pada line 11 – 19
- pada function save kita menuliskan perintah untuk menangkap inputan dari bagian bagian form, semisal kita menangkap inputan bagian form nama, maka perintahnya adalah $this->input->post(‘nama’) dan untuk bagian form yang lain hanya tinggal menyesuaikan value name dibagian form.
- Kita disini menggunakan perintah $this->input->post karena value attribute method dibagian form adalah post.
- Nilai dari masing – masing bagian form disimpan pada array $data, dan array $data ini dipassing ke bagian view vw_pegawai.
Buat File View dengan nama vw_pegawai
Berikutnya kita akan buat view untuk menampilkan hasil inputan dari bagian form, dalam contoh ini kita buat file dengan nama vw_pegawai.php
untuk isi dari code view vw_pegawai.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<table> <tr> <td>Nama</td> <td>:</td> <td><?php echo $nama; ?></td> </tr> <tr> <td>Email</td> <td>:</td> <td><?php echo $email; ?></td> </tr> <tr> <td>Jenis Kelamin</td> <td>:</td> <td><?php echo $jenis_kelamin; ?></td> </tr> <tr> <td>Agama</td> <td>:</td> <td><?php echo $agama; ?></td> </tr> <tr> <td>Alamat</td> <td>:</td> <td><?php echo $alamat; ?></td> </tr> </table> |
Keterangan :
- pada bagian view vw_pegawai.php kita menampilkan data yang di passing dari bagian controller Pegawai, dimana data ini merupakan hasil inputan dari bagian form.
- Untuk tutorial mengenai cara mempassing data dari controller ke bagian view bisa dilihat di tutorial berikut ini Cara Passing data dari controller ke view
Kita akan coba untuk membuka bagian form, dengan alamat : http://localhost/belajarform/index.php/pegawai
Contohnya kita isikan dengan seperti itu dibagian form, lalu kita klik tombol simpan..
Maka akan mengakses function save dibagian controller pegawai, sehingga menampilkan tampilan seperti berikut ini :
Form Validasi di Codeigniter
Setelah kita telah belajar mengenai bagaimana cara menangkap inputan di bagian form di codeigniter, berikutnya kita akan belajar mengenai bagaimana cara membuat form validasi di codeigniter.
Pada Codeigniter telah disediakan library yang khusus digunakan untuk keperluan validasi terhadap inputan form.
Untuk langkah awal kita akan load terlebih dahulu dibagian form validation, kita akan gunakan file autoload untuk load form validation, kita buka file application/config/autoload.php
pada bagian libraries kita tuliskan form_validation dibagian array.
1 |
$autoload['libraries'] = array('form_validation'); |
dengan cara ini kita tidak perlu load library form_validation disetiap controller.
Tambahkan perintah form validasi dibagian Controller
Berikutnya kita tambahkan perintah form validasi dibagian Controller Pegawai, kita tambahkan perintah ini dibagian function save, sehingga kurang lebih untuk controller Pegawai codenya adalah sebagai berikut :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Pegawai extends CI_Controller { public function index() { $this->load->view('vw_form'); } public function save() { $this->form_validation->set_rules('nama','Nama','required|min_length[5]|max_length[255]'); $this->form_validation->set_rules('email','Email','required'); $this->form_validation->set_rules('jenis_kelamin','Jenis Kelamin','required'); $this->form_validation->set_rules('agama','Agama','required'); $this->form_validation->set_rules('alamat','Alamat','required'); if ($this->form_validation->run()==true) { $data['nama'] = $this->input->post('nama'); $data['email'] = $this->input->post('email'); $data['jenis_kelamin'] = $this->input->post('jenis_kelamin'); $data['agama'] = $this->input->post('agama'); $data['alamat'] = $this->input->post('alamat'); $this->load->view('vw_pegawai',$data); } else { $this->load->view('vw_form'); } } } |
Keterangan :
kita akan gunakan perintah $this->form_validation->set_rules() untuk digunakan menset rules dibagian form validasinya.
Pada setiap function set_rules() kita bisa menuliskan 3 paremeter, antara lain :
- value pada property name dibagian form, yang akan memberikan informasi bagian form mana yang kita buatkan rules
- Label dari rules yang dibuat
- Aturan rules yang dibuat dibagian form
Sehingga kalau kita melihat perintah berikut ini :
1 |
$this->form_validation->set_rules('nama','Nama','required|min_length[5]|max_length[255]'); |
maka bisa kita artikan :
- kita membuat rules atas bagian form yang value attribute name adalah nama
- Label untuk rules ini adalah Nama
- bagian rulesnya adalah requires (harus diisi), min_length[5] (minimal character adalah 5), max_length[255] (maksimal character adalah 255)
Pada Line 19 kita menuliskan perintah if ($this->form_validation->run()==true), artinya kita melakukan pengecekan apakah bagian form validation seluruhnya true (seluruh entrian form sesuai dengan aturan form validasi), sehingga yang dilakukan ketika entrian form sudah sesuai dengan rules maka akan menjalankan perintah php pada line 21 – 26
Ketika ternyata ada entrian form terdapat inputan yang tidak sesuai dengan rules dibagian form validation, maka akan menjalankan perintah pada line 30.
Menampilkan pesan error dibagian form
Berikutnya kita akan menampilkan pesan error dibagian form, ketika inputan tidak sesuai dengan rules.
teman teman dapat menuliskan perintah berikut ini :
1 |
<?php echo validation_errors(); ?> |
Jadi kurang lebih untuk file vw_form.php menjadi seperti berikut ini :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<!DOCTYPE html> <html> <head> <title></title> </head> <body> <?php echo validation_errors(); ?> <br/> <form method="post" action="<?php echo base_url(); ?>index.php/pegawai/save"> <label>Nama : </label> <input type="name" name="nama"> <br/> <label>Email : </label> <input type="email" name="email"> <br/> <label>Jenis Kelamin : </label> <input type='radio' name='jenis_kelamin' value='pria' />Pria <input type='radio' name='jenis_kelamin' value='perempuan' />Perempuan<br/> <label>Agama : </label> <select name="agama"> <option value="islam">Islam</option> <option value="kristen">Kristen</option> <option value="katholik">Katholik</option> <option value="hindu">Hindu</option> <option value="budha">Budha</option> </select><br/> <label>Alamat : </label> <textarea name="alamat"></textarea><br/><br/> <input type="submit" name="tombol" value="Simpan"/> </form> </body> </html> |
Sehingga nantinya jika inputan formnya tidak sesuai dengan rulesnya hasilnya adalah sebagai berikut ini :
Terlihat ada keterangan error dari bagian validasi form.
Untuk Teman – teman yang ingin belajar lebih lanjut mengenai form validasi di codeigniter, bisa membaca dokumentasi resmi dari codeigniter di alamat berikut ini : https://codeigniter.com/user_guide/libraries/form_validation.html
Untuk Source Code Hasil Belajar, bisa teman – teman download di link berikut ini : Source Code
Baik sekian dulu teman – teman pembahasan mengenai bagaimana menangkap inputan form serta form validasi di framework codeigniter, jika ada yang ingin didiskusikan silahkan di kolom komentar, sekian dulu sampai jumpa di tutorial berikutnya.
ANDA INGIN SERIUS BELAJAR FRAMEWORK CODEIGNITER ?
Seperti yang anda ketahui bahwa saat ini skill di bidang pemrograman sangatlah dibutuhkan, salah satunya adalah pemograman PHP.
Untuk anda yang ingin serius belajar pemrograman PHP, Khususnya menggunakan Framework PHP Codeigniter, Warung Belajar Memiliki Beberapa Paket Tutorial yang bisa membantu anda dalam belajar menggunakan Framework PHP Codeigniter, dari mulai step – step dasar hingga mampu membuat aplikasi berbasis web dengan menggunakan Framework PHP Codeigniter.
Paket Tutorial ini berisi video tutorial belajar pemrograman berbahasa indonesia, cocok sekali untuk anda yang sedang belajar Framework PHP Codeigniter, bahkan untuk orang awam sekalipun.
Paket Tutorial ini juga dilengkapi dengan study kasus yang akan mempermudah pemahaman anda dalam belajar pemrograman, Mari berinvestasi untuk menambah skill dalam menguasai Framework PHP Codeigniter
-
Tutorial Singkat Langsung Jago Framework Codeigniter
Rp98,000 Add to cart -
Tutorial Seminggu Jago Framework Codeigniter Dan Bootstrap
Rp90,000 Add to cart -
Tutorial Membangun Sistem Informasi Akademik Sekolah Dengan Codeigniter Dan Ajax
Rp145,000 Add to cart -
Tutorial Membangun Toko Online Responsive Dengan Codeigniter Dan Bootstrap
Rp135,000 Add to cart -
Tutorial Membangun Sistem Informasi Rumah Sakit Dengan Codeigniter MySQL Dan Ajax
Rp145,000 Add to cart -
Kursus Online – Pemrograman Web dan Android – Membuat Aplikasi Kasir
Rp300,000 Add to cart
Terimakasih, penjelasannya sangat detail dan dapat dimengerti. Btw bikin ebook tntang CI secara lengkapp dong bang. Sama studi kasusnya. Harga mahasiswa hehe:v
Terima kasih, telah belajar di warungbelajar, Insyaallah nanti kita buat tutorial belajar codeigniter, terima kasih atas masukannya
Wah keren, makasih bgt infonya pak..
sama sama, terima kasih sudah berkunjung di warungbelajar
bang validasinya ko ga mau ya?
samakan saja dengan source code yang kita sediakan kak