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 ;

table phpmyadmin

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

data disimpan

form_codeigniter

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.

Join the Conversation

2 Comments

Your email address will not be published. Required fields are marked *