Anda di halaman 1dari 5

MEMBUAT LOGIN DI

CODEIGNITER 2.1.3
(AUTHENTIKASI)
http://starzoneku.blogspot.com/2013/04/membuat-login-di-codeigniter-213.html
Kali ini saya akan membagikan tutorial tentang pembuatan login di codeigniter 2.1.3. Hasil akhir dari
aplikasi ini adalah sobat akan disuguhi tampilan login (jika belum login) ada 2 pilihan Login atau
SignUp (daftar sebagai member). Dalam Form signup akan ada validasi, ketika sobat berhasil akan di
arahkan ke halaman pemberitahuan untuk login. Setelah berhasil login sobat akan di redirect ke
halaman member_area. Ok langsung aja ke praktek.

STEP 1 : Membuat tabel


Sobat diasumsikan sudah membuat database bernama ci_series dan membuat tabel bernama
membership dengan 6 field/kolom yaitu id, nama_depan, nama_belakang, username, password,
email_address. Dengan field id kita set sebagai primary key dengan nilai auto_increment

STEP 2 : Membuat model


Buat application\models\membership_model.php dan isikan kode sebagai berikut :
<?php
class Membership_model extends CI_Model {
function validate()
{
$this->db->where('username', $this->input->post('username'));
$this->db->where('password', md5($this->input->post('password')));
$query = $this->db->get('membership');
if($query->num_rows == 1)
{
return true;
}
}
function create_member()
{
$new_member_insert_data = array(
'nama_depan' => $this->input->post('first_name'),
'nama_belakang' => $this->input->post('last_name'),
'email_address' => $this->input->post('email_address'),
'username' => $this->input->post('username'),
'password' => md5($this->input->post('password'))
);
$insert = $this->db->insert('membership', $new_member_insert_data);
return $insert;
}

}
function validate digunakan untuk memvalidasi hasil login sobat, jika username dan password yang
dimasukkan cocok maka akan menghasilkan nilai true (benar). Dan untuk function create member
digunakan untuk membuat member baru dengan memasukkan semua data ke field masing-masing.

STEP 2 : Membuat controller


Disini saya akan membuat 2 controller yaitu login.php dan site.php untuk yang pertama yaitu
saya akan membuat application\controllers\login.php sebagai berikut :
<?php
class Login extends CI_Controller {
function index()
{
$data['main_content'] = 'login_form';
$this->load->view('includes/template', $data);
}
function validate_credentials()
{
$this->load->model('membership_model');
$query = $this->membership_model->validate();
if($query) // jika data user benar
{
$data = array(
'username' => $this->input->post('username'),
'is_logged_in' => true
);
$this->session->set_userdata($data);
redirect('site/members_area');
}
else // username atau password salah
{
$this->index();
}
}
function signup()
{
$data['main_content'] = 'signup_form';
$this->load->view('includes/template', $data);
}
function create_member()
{
$this->load->library('form_validation');
// field name, error message, validation rules
$this->form_validation->set_rules('first_name', 'Name',
'trim|required');
$this->form_validation->set_rules('last_name', 'Last Name',
'trim|required');
$this->form_validation->set_rules('email_address', 'Email Address',
'trim|required|valid_email');
$this->form_validation->set_rules('username', 'Username',
'trim|required|min_length[4]');

$this->form_validation->set_rules('password', 'Password',
'trim|required|min_length[4]|max_length[32]');
$this->form_validation->set_rules('password2', 'Password Confirmation',
'trim|required|matches[password]');

if($this->form_validation->run() == FALSE)
{
$this->load->view('signup_form');
}
else
{
$this->load->model('membership_model');
if($query = $this->membership_model->create_member())
{
$data['main_content'] = 'signup_successful';
$this->load->view('includes/template', $data);
}
else
{
$this->load->view('signup_form');
}
}
}
function logout()
{
$this->session->sess_destroy();
$this->index();
}
}
Yang kedua saya akan membuat controller application\controllers\site.php sebagai
berikut :
<?php
class Site extends CI_Controller
{
function __construct()
{
parent::__construct();
$this->is_logged_in();
}
function members_area()
{
$this->load->view('logged_in_area');
}
function another_page() // just for sample
{
echo 'good. you\'re logged in.';
}
function is_logged_in()

{
$is_logged_in = $this->session->userdata('is_logged_in');
if(!isset($is_logged_in) || $is_logged_in != true)
{
echo 'You don\'t have permission to access this page. <a
href="../login">Login</a>';
die();
//$this->load->view('login_form');
}
}
}
STEP 3 : Membuat template
Sebelum saya membuat view terlebih dahulu saya akan membuat template yang
terdiri header.php, footer.php, tut_info.php(opsional) dan template.php.yang
berada dalam direktori views\include.
Kode application\views\include\header.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Sign Up!</title>
<link rel="stylesheet" href="<?php echo base_url();?>/css/style.css"
type="text/css" media="screen" />
</head>
<body>
Kode application\views\include\footer.php
</body>
</html>
Kode application\views\include\template.php
<?php $this->load->view('includes/header'); ?>
<?php $this->load->view($main_content); ?>
<?php $this->load->view('includes/footer'); ?>

$main_content Merupakan variabel yang akan membuat template dinamis


Kode application\views\include\tut_info.php
<div id="tutInfo">Tutorial created by <a
href="http://www.facebook.com/ahmaddarulabror">Ahmad Darul Abror</a> for
<a href="http://starzoneku.blogspot.com">My Blog</a></div>

STEP 4 : Membuat Views


Saya akan membuat 4 views, yaitu :
1. application\views\login_form.php yang memuat view yang menampilkan form
untuk login

<?php $this->load->view('includes/header'); ?>


<div id="login_form">
<h1>Login, Fool!</h1>
<?php
echo form_open('login/validate_credentials');
echo form_input('username', 'Username');
echo form_password('password', 'Password');
echo form_submit('submit', 'Login');
echo anchor('login/signup', 'Create Account');
echo form_close();
?>
</div><!-- end login_form-->
<?php $this->load->view('includes/tut_info'); ?>
<?php $this->load->view('includes/footer'); ?>

Anda mungkin juga menyukai