login sesion codeigniter
Kali ini saya mau shere tutorial bagaimana cara membuat login session pada framework codeigniter. Login session menerepkan user level atau hak akses halaman user yang sedang login.
Kita langsung saja masuk kedalam tutorialnya !!
Pertama anda harus mensetting autoload.php seperti berikut .
$autoload['libraries'] = array('database', 'session', 'xmlrpc'); |
Jangan lupa setting encryptionnya pada file config.phpanda masing-masing.
Anda sudah mensetting semuanya, maka selanjutnya kita siapkan untuk membuat databasenya.
Buatlah database anda seperti berikut !!
Field | Type | Panjang |
Uid | int | 20 |
Username | Varchar | 35 |
Password | Varchar | 20 |
level | enum('admin', 'member') |
Catatan:
1. Pada field uid itu buat auto incrementsaja.
2. Untuk field level itu yang nantinya berfungsi sebagai pembeda hak akses usernya.
Jangan lupa rubah file database.phpanda masing-masing dengan !!
Kita sudah mebuat database dan setting keperluan lainnya. Maka kita bisa membuat viewnya atau form loginnya, saya buat formnya mungkin seserdehana mungkin. Berikut form login saya, yang saya berinama index.php .
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>login session</title> </head> <body> <?php echo form_open("auth/cek_login"); ?> <p>Username : <br> <input type="text" name="username"> </p> <p>Password : <br> <input type="password" name="password"></p> <p><button type="submit">Submit</button></p> <?php echo form_close(); ?> </body> </html> |
Penjelasan:
Saya pada bagaian tanda kuning sama saja dengan “<form action="http://localhost/bl/ls/index.php/auth/cek_login" method="post" accept-charset="utf-8">” .
Sehabis kita membuat viewnya maka kita bisa membuat controller, file phpnya saya beri nama auth.php berikut condingnya.
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Auth extends CI_Controller { public function index() { $this->load->view('index'); } public function cek_login() { $data = array('username' => $this->input->post('username', TRUE),'password' => md5($this->input->post('password', TRUE)) ); $this->load->model('model_user'); // load model_user $hasil = $this->model_user->cek_user($data); if ($hasil->num_rows() == 1) { foreach ($hasil->result() as $sess) { $sess_data['logged_in'] = 'Sudah Loggin'; $sess_data['uid'] = $sess->uid; $sess_data['username'] = $sess->username; $sess_data['level'] = $sess->level; $this->session->set_userdata($sess_data); } if ($this->session->userdata('level')=='admin') { redirect('admin/c_admin'); } elseif ($this->session->userdata('level')=='member') { redirect('member/c_member'); } } else { echo "<script>alert('Gagal login: Cek username, password!');history.go(-1);</script>"; } } } ?> |
Penjelasan:
1. Pada function cek_login, berfungsi sebagai ngecek user yang sedang login . pada bagaian “$hasil->num_rows()” berguna untuk merubah data menjadi number . pada bagaian “if ($hasil->num_rows() == 1)” berarti bila data sama dengan satu maka akan ditampilkan bila tidak “echo "<script>alert('Gagal login: Cek username, password!');history.go(-1);</script>";”.
2. tadi saya sudah menjelaskan pada field levelberfungsi sebagai pembeda hak aksees user , tadi field level hanya saya bedakan hanya dua level admin dan member, sebernanya itu bisa di beri level banyak , jadi tinggal pada function cek_login ditambahkan “elseif ($this->session->userdata('level')=='level anda') {redirect('folder/controller');}” .
ohh, iya jangan lupa meruh router.php anda ya !!
yang terakhir kita buat modelnya, yang saya bernama model_user.php. berikut codingnya !!
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Model_user extends CI_Model { public function cek_user($data) { $query = $this->db->get_where('login_session', $data); return $query; } } ?> |
Silakan mencoba !! coding lengkapnya bisa anda download via dropbox berikut linknya tapi harus share terlebih dahalu.
Share via Facebook / Twitter / Google Plus to see Link Download
Tweet
Tweet
Selesai sudah tutorial kali ini , nantikan tutorial lainnya atau informasi lainnya jangan lupa liha tutorial lainnya hanya disini!!Sekian dan terima kasih .
0 Response to "login sesion codeigniter"
Post a Comment