Membuat Login Di Codeigniter 2

6
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; } }

description

Web

Transcript of Membuat Login Di Codeigniter 2

Page 1: Membuat Login Di Codeigniter 2

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 tabelSobat 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 modelBuat 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; }

Page 2: Membuat Login Di Codeigniter 2

}

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 controllerDisini 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]');

Page 3: Membuat Login Di Codeigniter 2

  $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()

Page 4: Membuat Login Di Codeigniter 2

 {  $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 templateSebelum 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 ViewsSaya akan membuat 4 views, yaitu :

1. application\views\login_form.php yang memuat view yang menampilkan form

untuk login

Page 5: Membuat Login Di Codeigniter 2

<?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'); ?>