Website Sekolah dengan CodeIgniter : Migrasi ke CodeIgniter 2.0.2

Hey Geeks…

Beberapa waktu lalu aku poting membuat login authentikasi user yang merupakan lanjutan dari tutorial membuat website sekolah dengan codeigniter. Waktu itu masih pake CI 1.7.2, ehh… selang beberapa minggu udh release CI 2.0.2.

Download Full Source Code  | Demo Online

Jadi ya… sebelum aku lanjut koding, mending aku upgrade sekalian ke CI versi 2.0.2, biar lebih fresh…hehehe

Oke.. Geeks.. yng lgi mulai belajar CI segera aja download source codeny di GitHub.com.

Sebenarnya perubahanya cuma dikit kok.. cuma di model n controller aja.

klo versi 2.0.2 ketika membuat model ato contrloller itu pas  extends ‘CI_Model’ ato ‘CI_Controller’.  Ini source code model n controllernya:

Users_model


<?php

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

class Users_model extends CI_Model {

var $tabel_name = 'users';

function  __construct() {
parent::__construct();
}

function cek_user_login($username, $password) {
$this->db->select('*');
$this->db->where('username', $username);
$this->db->where('password', md5($password));

$query = $this->db->get($this->tabel_name, 1);

if ($query->num_rows() == 1) {
return $query->row_array();
}
}

}
?>

sedang untuk controller Users adalah:


<?php

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

class Users extends CI_Controller {

function  __construct() {
parent::__construct();
$this->load->model('Users_model');
}

function login() {

$this->form_validation->set_rules('username', 'username', 'required|xss_clean');
$this->form_validation->set_rules('password', 'password', 'required|xss_clean');

$this->form_validation->set_error_delimiters('', '<br/>');

if ($this->form_validation->run() == TRUE) {
$username = $this->input->post('username');
$password = $this->input->post('password');

$login_data = $this->Users_model->cek_user_login($username, $password);
if($login_data){
$session_data = array(
'user_id' => $login_data['id'],
'username' => $login_data['username'],
'type' => $login_data['type'],
'is_login' => TRUE
);

$this->session->set_userdata($session_data);

redirect('users/dashboard');

}else{
$this->session->set_flashdata('message','Login Gagal, Kombinasi username dan password salah.');
redirect('users/login');
}
}
$this->load->view('users/login');
}

function dashboard() {
$this->check_logged_in();
$this->load->view('users/dashboard');
}

function logout() {

$data = array
(
'user_id' => 0,
'username' => 0,
'type' => 0,
'is_login' => FALSE
);

$this->session->sess_destroy();
$this->session->unset_userdata($data);

redirect('users/login');
}

public function check_logged_in() {
if ($this->session->userdata('is_login') != TRUE) {
redirect('users/login', 'refresh');
exit();
}
}

public function is_logged_in() {
if ($this->session->userdata('logged_in') == TRUE) {
return TRUE;
} else {
return FALSE;
}
}

}
?>

Download Full Source Code  | Demo Online

Ok Geeks... sampe jumpa di postingan2 berikutnya...#sekian

  • http://www.alatkurkadarair.co.cc alat ukur kadar air

    saya tunggu update nya sob. saya sangat tertarik belajar codeigniter. Dan kebetulan tutor sobat sangat membantu..

    • admin

      Oke mas bro… insyaalloh segera update..:-)

  • http://www.wahidhasan.com wahidhasan

    Mas bro.. aku ngertine dadine thok.. nek code-code ngene iki mumet aku..

    • admin

      Nek ngerti dadi.. mbayare luwih akeh ms..:))

  • Adietz`

    Mas…piye iku sing “sekolahku” rak metu…

    • admin

      gak metu kepiye?? aku coba normal kok

      • adietz’

        Fatal error: Class ‘Controllers’ not found in C:\xampp\htdocs\oilclinic\application\controllers\users.php on line 8

        tulisane kui mas..

        • adietz’

          pake ci yang 202

        • admin

          Oh,,, di CI 2.0+, extends Controller menjadi extends CI_Controller

          • newbiee

            oke oke..thanks..mas..

  • http://klikmovie.com KlikMovie

    Punyaku malah muncul pesan error ini mas, gimana solusinya ya ?

    A PHP Error was encountered

    Severity: Notice

    Message: Undefined property: CI_Form_validation::$set

    Filename: controllers/users.php

    Line Number: 13

    • admin

      Itu karena library form_validation belum di panggil mas. Coba buka autoload.php di folder config, trus pada bagian $config['libraries'] ditambahkan = array(‘form_validation’). Trims

  • http://www.murahshop.biz test

    Tutorial yang bagus mas saya juga baru belajar CI 2.1 . kenapa bagian tiap pages admin/guru tidak di protect. link ini masih bisa di buka tanpa login. http://sekolahku.gie-art.com/index.php/admin/pages/index. mohan petunjuk untuk mengambil session di tiap pages yang berbeda. trims

    • gieart

      Terima kasih mas telah berkunjung ke blog saya. Baik nanti di tutorial berikutnya akan dibuat library utk pengecekan akses/ protect utk page yng harus login. Utk mengambil session caranya $this->session->userdata(‘key’).
      Terima kasih :)

Plugin from the creators of Brindes :: More at Plulz Wordpress Plugins