dengan CodeIgniter
Kali ini saya bakal bikin tutorial multi user login dari codeigniter kalo ada yng
belum tau codeigniter itu apa, bisa liat liat dulu penjelasannya di
tutorial codeigniter kalo udah tau, yo mari lanjut kita ngoding haha B-) Oh iya saya
akan membuat multi user login dengan membuat library login sendiri.
1. Admin
2. User
Oke sebelum ngoding pertama-tama kita kenalan dulu dengan yang namanya
Library Session
Library yang paling penting dalam prosess login itu adalah Session ,
sebenarnya PHP sudah menyediakan Fungsi Session , tapi Framework
CodeIgniter sudah membungkusnya dengan rapi di Library nya menjadi
lebih mudah di keluarkan.
<?php
..
..
$this->load->library('session');
PHP
Copy
..
..
$autoload['libraries'] = array('session');
PHP
Copy
Udah deh cukup segitu aja tentang librarynya, padahal masih banyak library di
code igniter. Tapi utuk kali ini cukup session dulu aja hehe :D ayo kita mulai
tutorial nya B-)
kalo udah buat databasenya, mari kita buat table nya dengan nama tb_pengguna.
Ayo sekarang mari kita ubah pengaturan databasenya di code igniter, ubah di
file /application/config/database.php
<?php
..
..
$db['default']['dbdriver'] = 'mysql';
PHP
Copy
menjadi :
<?php
..
..
$db['default']['dbdriver'] = 'mysql';
PHP
Copy
Udah gitu, ubah pengaturan yang di perlukan saat mebuat sistem multi user login.
Pertama base_url sama encryption_key nya di /application/config/config.php
<?php
..
..
..
..
$config['encryption_key'] = 'ferdhika_ganteng';
PHP
Copy
Kedua libraries sama helper nya di /application/config/autoload.php
<?php
..
..
$autoload['libraries'] = array('database','session','auth');
..
..
$autoload['helper'] = array('url','form');
PHP
Copy
Nah selesai ngubah pengaturan selanjutnya kita buat Modelnya dan beri
nama m_login.php saja biar ga pusing :D (simpen di folder models ya bro)
function __construct(){
parent::__construct();
$this->tbl = "tb_pengguna";
}
function cek_user($username="",$password=""){
$query = $this->db->get_where($this-
>tbl,array('username' => $username, 'password' => $password));
$query = $query->result_array();
return $query;
function ambil_user($username){
$query = $this->db->get_where($this->tbl,
array('username' => $username));
$query = $query->result_array();
if($query){
return $query[0];
}
PHP
Copy
Setelah model di buat, kedua kita buat dulu view nya (tampilan login) beri
nama form_login.php dan simpan di folder View
<html>
<head>
<title>Form Login</title>
<style>
body{
font-family:Calibri;
margin:50px;
#form-login{
margin:auto;
width:320px;
padding:10px;
font-size:18px;
font-weight:bold;
color:#555;
.inputan{
width: 100%;
padding:3px;
font-family:Consolas;
border:1px solid #ccc;
.tombol{
padding:5px;
background:#555;
color:#FFF;
font-weight:bold;
font-family:Consolas;
font-size:15px;
.error{
color:#555;
font-size:11px;
</style>
</head>
<body>
<tr>
<td>Username</td>
<td>:</td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input type="password"
size="40" name="pass" class="inputan"> <?php echo
form_error('password');?></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit"
name="login" value="Login" class="tombol"> </td>
</tr>
</table>
</div>
</form>
</body>
</html>
HTML
Copy
function __construct(){
parent::__construct();
function index(){
$session = $this->session->userdata('isLogin');
//mengabil dari session apakah sudah login atau belum
if($session == FALSE) //jika session false maka akan
menampilkan halaman login{
$this->load->view('login_form');
redirect('dashboard');
function do_login(){
$username = $this->input->post("uname");
$password = $this->input->post("pass");
$cek = $this->m_login-
>cek_user($username,md5($password)); //melakukan persamaan data dengan
database
}
$this->session->set_userdata(array(
));
redirect('dashboard','refresh'); //redirect ke
halaman dashboard
redirect('login','refresh');
}
PHP
Copy
Kemudian, setelah itu. mari kita buat library auth. Buat file auth dengan
nama auth.php dan simpan di folder /application/libraries
$this->sesi = $this->ci->session->userdata('isLogin');
$this->hak = $this->ci->session->userdata('stat');
if($this->sesi != TRUE){
redirect('login','refresh');
exit();
if($this->hak==$kecuali){
redirect('dashboard');
}elseif ($this->hak=="") {
echo "<script>alert('Anda belum
login!');</script>";
redirect('login');
}else{
Seudah itu, mari kita buat view halaman Dashboard buat admin dan user nya..
Pertama kita buat dulu buat admin, setelah itu baru User..
Hai horeee kamu berhasil login. Ini halaman admin. Udah masuk mau
keluar? nih keluarin disini > [<a href=''>Keluar</a>]
Hai horeee kamu berhasil login. Ini halaman user. Udah masuk mau
keluar? nih keluarin disini > [<a href=''>Keluar</a>]
function __construct(){
parent::__construct();
$this->load->model('m_login');
function index(){
$ambil_akun = $this->m_login->ambil_user($this->session-
>userdata('uname'));
$data = array(
);
$stat = $this->session->userdata('lvl');
if($stat==1){//admin
$this->load->view('dashboard_admin',$data);
}else{ //user
$this->load->view('dashboard_user',$data);
}
function login(){
$session = $this->session->userdata('isLogin');
if($session == FALSE){
$this->load->view('login_form');
}else{
redirect('dashboard');
function logout(){
$this->session->sess_destroy();
redirect('login','refresh');
}
PHP
Copy
Oke selesai deh, mari kita coba satu per satu login nya :D