Friday, November 29, 2013

Log In (Codeigniter)

Pada artikel terdahulu penulis telah mencoba membuat log in, hanya saja dengan PHP manual. pada kesempatan kali ini penulis akan mencoba membuat log in menggunakan Codeigniter. Request mas siswo, semoga membantu anda mas :) .

pertama buat database, berikut querynya

create database latihan;

use latihan;

lalu buat table users yang akan digunakan untuk log in. berikut query dari table users

CREATE TABLE IF NOT EXISTS `users` (
  `email` varchar(80) NOT NULL,
  `password` varchar(40) NOT NULL,
  PRIMARY KEY (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `users` (`email`, `password`) VALUES
('admin', '21232f297a57a5a743894a0e4a801fc3');

sekarang waktunya konfigurasi database,config dan autoload.

buka file database.php pada folder application/config/database.php


  1. $db['default']['hostname'] = 'localhost';
  2. $db['default']['username'] = 'root';
  3. $db['default']['password'] = '';
  4. $db['default']['database'] = 'latihan';
  5. $db['default']['dbdriver'] = 'mysql';
lalu buka file config.php pada folder application/config/config.php, cari baris kode berikut

$config['encryption_key'] = '';

isikan kata apapun pada kutip tersebut, contoh 

$config['encryption_key'] = 'deden';

lalu buka file autoload.php pada folder application/config/autoload.php, cari baris kode berikut

$autoload['libraries'] = array('');

ubah menjadi

$autoload['libraries'] = array('session','database');

setelah itu siapkan modelnya, berikut modelnya

user_model.php

  1. <?php
  2. class User_Model extends CI_Model
  3. {
  4.     
  5.     function __construct(){
  6.         parent::__construct();
  7.     }
  8.     
  9. function masuk($email,$password){
  10.         $query=$this->db->query("select * from users where email='$email' and password='$password'");
  11.         return ($query->num_rows()>0) ? $query->row() : FALSE;
  12. }

  13. }
simpan file tersebut pada folder application/models, lalu buat controllernya.

login.php


  1. <?php if (! defined('BASEPATH')) exit('No direct script access allowed');

  2. class Login extends CI_Controller {

  3. function index(){
  4.     $this->load->view('login');
  5. }

  6. function masuk(){
  7.     
  8.     $this->load->model('user_model');
  9.      $password   =   md5($this->input->post('password'));
  10.      $email   =   $this->input->post('email');
  11.     $query = $this->user_model->masuk($email,$password);
  12.  if($query==TRUE){
  13.        $level = $this->user_model->detail($email);
  14.        $data = array('username' => $email);
  15.        $this->session->set_userdata($data);
  16.        redirect('admin');      
  17.    }else{
  18.        $this->index();     
  19.   

  20. }


  21. function logout(){
  22. $this->session->sess_destroy(); 
  23.     $this->index();     
  24.   
  25. }

  26. }
function masuk digunakan untuk mengatur log in, atau verifikasi user dan password sedangkan fungsi logout digunakan untuk membuat fungsi keluar/ menghapus session.

simpan file tersebut pada folder application/controllers. lalu buat file untuk form log in. berikut kodenya

login.php
    1. <h3><span></span> Login Admin<h3>

    2. <?php echo form_open('login/masuk'); ?>

    3. <div style="font-size: 15px;">
    4. <div>
    5.   <div>
    6.     <label >Email</label>
    7.     <input name="email" type="text" placeholder="Masukan Email"/> 
    8.   </div>
    9.   <di>
    10.     <label >Password</label>
    11.     <input name="password" type="password" placeholder="Masukan Password"/>
    12.   </div>
    13. </div>
    14.   <div><button type="submit" >Login</button></div>
    15. </div>
    16. <?php echo form_close();?>
                                    simpan file tersebut pada folder application/views, lalu buat satu halaman untuk halaman adminnya.

                                    admin.php

                                    1. Selamat Datang di halaman admin
                                    2. <a href="<?php echo base_url()?>login/logout">Log Out</a>
                                    simpan file tersebut pada folder application/views.

                                    Halaman Login

                                    Ketika log in berhasil

                                    setelah logout halaman kembali ke halaman admin

                                    yap sekian ulasan mengenai log in di codeigniter, semoga bermanfaat , jika ada masalah silahkan di komen saja ..... 


                                    No comments:

                                    Post a Comment