Studi kasus kali ini adalah pembuatan form pendaftaran user di website. Database menggunakan MySQL. Buat database baru dengan nama codeigniter dengan table bernama users. Di table user tambahkan table
CREATE TABLE IF NOT EXISTS `users` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(20) COLLATE utf32_unicode_ci NOT NULL, `nama_lengkap` varchar(80) COLLATE utf32_unicode_ci NOT NULL, `email` varchar(100) COLLATE utf32_unicode_ci NOT NULL, `password` text COLLATE utf32_unicode_ci NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_unicode_ci AUTO_INCREMENT=1 ;
Sesuaikan konfigurasi database anda di application/config/database.php contoh di komputer saya
$db['default']['hostname'] = 'localhost'; $db['default']['username'] = 'root'; $db['default']['password'] = 'jarangudacom'; $db['default']['database'] = 'codeigniter'; $db['default']['dbdriver'] = 'mysql';
Controller
Controller diletakkan di application/controllers, buat sebuah file bernama user.php tambahkan file dibawah ini kedalam user.php
<?php class User extends CI_Controller { function __construct() { parent::__construct(); $this->load->library('form_validation'); $this->load->database(); $this->load->helper('form'); $this->load->helper('url'); $this->load->model('user_model'); } function index() { $this->form_validation->set_rules('username', 'Username', 'required|max_length[20]'); $this->form_validation->set_rules('nama_lengkap', 'Nama Lengkap', 'required|max_length[80]'); $this->form_validation->set_rules('email', 'Email', 'required|valid_email|max_length[100]'); $this->form_validation->set_rules('password', 'Password', 'required'); $this->form_validation->set_error_delimiters('<br /><span class="error">', '</span>'); if ($this->form_validation->run() == FALSE) { $this->load->view('pendaftaran_view'); } else { $form_data = array( 'username' => set_value('username'), 'nama_lengkap' => set_value('nama_lengkap'), 'email' => set_value('email'), 'password' => set_value('password') ); if ($this->user_model->SaveForm($form_data) == TRUE) { print_r($this->input->post()); echo "<br><h3>Data berhasil disimpan.</h3>"; } else { echo 'Terjadi kesalahan sewaktu menyimpan data'; } } } } ?>
Models
Dibagian model ini kita menyimpan query ke database. Tambahkan user_model.php di application/models, tambahkan script dibawah ini didalam user_model.php
<?php class User_model extends CI_Model { function __construct() { parent::__construct(); } function SaveForm($form_data) { $this->db->insert('users', $form_data); if ($this->db->affected_rows() == '1') { return TRUE; } return FALSE; } } ?>
View
View terletak di application/view, tambahkan file pendaftaran_view.php, tambahkan script dibawah ini
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');?> <?php echo form_open('user'); ?> <p> <label for="username">username <span class="required">*</span></label> <?php echo form_error('username'); ?> <br /><input id="username" type="text" name="username" maxlength="20" value="<?php echo set_value('username'); ?>" /> </p> <p> <label for="nama_lengkap">nama_lengkap <span class="required">*</span></label> <?php echo form_error('nama_lengkap'); ?> <br /><input id="nama_lengkap" type="text" name="nama_lengkap" maxlength="80" value="<?php echo set_value('nama_lengkap'); ?>" /> </p> <p> <label for="email">Email <span class="required">*</span></label> <?php echo form_error('email'); ?> <br /><input id="email" type="text" name="email" maxlength="100" value="<?php echo set_value('email'); ?>" /> </p> <p> <label for="password">Password <span class="required">*</span></label> <?php echo form_error('password'); ?> <br /><input id="password" type="password" name="password" value="<?php echo set_value('password'); ?>" /> </p> <p> <?php echo form_submit( 'submit', 'Simpan'); ?> </p> <?php echo form_close(); ?>
Setelah selesai buka di browser (sesuaikan dengan alamat CI anda) , misalkan http://localhost/codeigniter/index.php/user, tampilannya bisa dilihat dibawah ini
Bila anda kesulitan menggunakan script diatas atau masih ada yang salah, silahkan download file lengkapnya di bawah ini, file database (users.sql) ada di folder codeigniter.
Download file nya dimana?
thanks gan, masih belajar