Membuat Login Multilevel Pada CodeIgniter
Monday, 9 November 2015
1 Comment
pada kali ini saya akan share source code untuk cara membuat halaman login multilevel pada codeigniter,
untuk database nya silakan buat terserah, untuk tabelnya lihat gambar dibawah ini :
buat file login.php simpan di folder views karena nanti ini untuk jadi tampilan halaman login sbelum menuju dashboard admin, download saja di sini ya :
kemudian buat lagi file model_user.php simpan di folder model
dan ini untuk index.php di dalam folder member :
dan hasilnya akan seperti ini :
untuk database nya silakan buat terserah, untuk tabelnya lihat gambar dibawah ini :
buat file login.php simpan di folder views karena nanti ini untuk jadi tampilan halaman login sbelum menuju dashboard admin, download saja di sini ya :
<html> <head> <title>Login Area</title> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css' type='text/css' media='all' /> <link rel='stylesheet' href='https://fortawesome.github.io/Font-Awesome/assets/css/site.css' type='text/css' media='all' /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script src="http://getbootstrap.com/dist/js/bootstrap.min.js"></script> <link rel="icon" href="http://i.imgur.com/DYp6N8a.png"> <style> ::selection { background-color: #E13300; color: white; } ::-moz-selection { background-color: #E13300; color: white; } #button-x-mass { background-color:#D91E18; color:#fff; border: none; width:50%; } #button-x-mass:hover { background-color:#CF000F; color:#fff; } #button-menu { background-color:#03A678; color:#fff; border:none; border-radius:20px; border: none; } #button-menu:hover { background-color:#16a085; color:#fff; } #button-x-single { background-color:#22A7F0; color:#fff; border-radius:20px; border: none; } #button-x-single:hover { background-color:#3498DB; color:#fff; border:none; } #text-form { font-weight: bold; color: #1F3A93; } #text-form:hover { font-weight: bold; color: #1F3A93; -moz-box-shadow: 0px 0px 5px #000;-webkit-box-shadow: 0px 0px 5px #000; box-shadow: 0px 0px 5px #000; } </style> </head> <body style="background:#EEEEEE;"><br><br> <div class="container"> <div class="row"> <div class="col-md-4 col-sm-12"></div> <div class="col-md-4 col-sm-12" style="background:#26C281;text-align:center;border-radius:10px;"><br> <h1 style="color:#fff;"><i class="fa fa-user"></i> Login User</h1> <?php echo form_open('login_user/cek_login'); ?> <input type="text" placeholder="Username" id="text-form" name="username" class="form-control"><br> <input type="password" placeholder="Password" id="text-form" name="password" class="form-control"><br> <button class="btn btn-default" id="button-x-mass">Login</button><br><br> <?php echo $this->session->flashdata('message'); //Tampilkan Pesan Jika Gagal Login ?> <?php echo form_close(); ?><br><br> </div> <div class="col-md-4 col-sm-12"></div><br><br> </div> </div> <div class="container"> <div class="row"> <div class="col-md-4 col-sm-12"></div> <div class="col-md-4 col-sm-12" style="text-align:center;"><br> Copyright © 2015 <a href="http://www.fajarpunya.com" target="_blank">FajarPunya[Com]</a> </div> <div class="col-md-4 col-sm-12"></div><br><br> </div> </div> </body> <html>kemudian buat file login_user.php simpan di folder controllers :
<?phpbuat 2 buah folder dan beri nama admin dan member di dalam folder controllers, kemudian buat file dashboard.php 1 untuk di dalam folder admin satu lagi untuk di dalam folder member, di bawah ini adalaha dashboard untuk admin :
defined('BASEPATH') OR exit('No direct script access allowed');
class Login_user extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->helper('form');
$this->load->library('session');
$this->load->model('model_user'); // load model_user
}
public function index() {
echo "Error 404 Coeg...!!!";
}
public function loginpage() {
$this->load->view('login');
}
public function cek_login() {
$data = array('username' => $this->input->post('username', TRUE),
'password' => md5($this->input->post('password', TRUE))
);
$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/dashboard');
}
elseif ($this->session->userdata('level')=='member') {
redirect('member/dashboard');
}
}
else {
$this->session->set_flashdata('message', 'anda Gagal Login...!!!');
redirect('login_user/loginpage');
}
}
}
<?phpdan ini file dashboard.php untuk di daalam folder member yang tadi di buat :
defined('BASEPATH') OR exit('No direct script access allowed');
class Dashboard extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->library('session');
if($this->session->userdata('username')=="") {
redirect('login_user/loginpage');
}
$this->load->helper('text');
}
public function index() {
$data['username'] = $this->session->userdata('username');
$this->load->view('admin/index', $data);
}
public function logout() {
$this->session->unset_userdata('username');
$this->session->unset_userdata('level');
session_destroy();
redirect('login_user/loginpage');
}
}
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Dashboard extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->library('session');
if($this->session->userdata('username')=="") {
redirect('login_user/loginpage');
}
$this->load->helper('text');
}
public function index() {
$data['username'] = $this->session->userdata('username');
$this->load->view('member/index', $data);
}
public function logout() {
$this->session->unset_userdata('username');
$this->session->unset_userdata('level');
session_destroy();
redirect('login_user/loginpage');
}
}
kemudian buat lagi file model_user.php simpan di folder model
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');setelah semuanya sudah dibuat dan sekarang buat lagi 2 folder di dalam folder view berinama folder admin dan member, setelah itu buatlah file index.php berikut source codenya untuk index.php pada folder admin :
class Model_user extends CI_Model {
public function cek_user($data) {
$query = $this->db->get_where('users', $data);
return $query;
}
}
?>
<html>
<head>
<title>Admin Area</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css' type='text/css' media='all' />
<link rel='stylesheet' href='https://fortawesome.github.io/Font-Awesome/assets/css/site.css' type='text/css' media='all' />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="http://getbootstrap.com/dist/js/bootstrap.min.js"></script>
<link rel="icon" href="http://i.imgur.com/DYp6N8a.png">
<style>
::selection { background-color: #E13300; color: white; }
::-moz-selection { background-color: #E13300; color: white; }
#button-x-mass {
background-color:#D91E18;
color:#fff;
border: none;
width:50%;
}
#button-x-mass:hover {
background-color:#CF000F;
color:#fff;
}
#button-menu {
background-color:#03A678;
color:#fff;
border:none;
border-radius:20px;
border: none;
}
#button-menu:hover {
background-color:#16a085;
color:#fff;
}
#button-x-single {
background-color:#22A7F0;
color:#fff;
border-radius:20px;
border: none;
}
#button-x-single:hover {
background-color:#3498DB;
color:#fff;
border:none;
}
#text-form {
font-weight: bold;
color: #1F3A93;
}
#text-form:hover {
font-weight: bold;
color: #1F3A93;
-moz-box-shadow: 0px 0px 5px #000;-webkit-box-shadow: 0px 0px 5px #000; box-shadow: 0px 0px 5px #000;
}
</style>
</head>
<body style="background:#EEEEEE;"><br><br>
<div class="container">
<div class="row">
<div class="col-md-12 col-sm-12">
<h1>Haii selamat datang, anda login sebagai <?php echo $username; ?></h1> <a href="<?php echo site_url('admin/dashboard/logout'); ?>">Logout</a>
</div>
</div>
</div>
</body>
<html>
dan ini untuk index.php di dalam folder member :
<html>
<head>
<title>Member Area</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css' type='text/css' media='all' />
<link rel='stylesheet' href='https://fortawesome.github.io/Font-Awesome/assets/css/site.css' type='text/css' media='all' />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="http://getbootstrap.com/dist/js/bootstrap.min.js"></script>
<link rel="icon" href="http://i.imgur.com/DYp6N8a.png">
<style>
::selection { background-color: #E13300; color: white; }
::-moz-selection { background-color: #E13300; color: white; }
#button-x-mass {
background-color:#D91E18;
color:#fff;
border: none;
width:50%;
}
#button-x-mass:hover {
background-color:#CF000F;
color:#fff;
}
#button-menu {
background-color:#03A678;
color:#fff;
border:none;
border-radius:20px;
border: none;
}
#button-menu:hover {
background-color:#16a085;
color:#fff;
}
#button-x-single {
background-color:#22A7F0;
color:#fff;
border-radius:20px;
border: none;
}
#button-x-single:hover {
background-color:#3498DB;
color:#fff;
border:none;
}
#text-form {
font-weight: bold;
color: #1F3A93;
}
#text-form:hover {
font-weight: bold;
color: #1F3A93;
-moz-box-shadow: 0px 0px 5px #000;-webkit-box-shadow: 0px 0px 5px #000; box-shadow: 0px 0px 5px #000;
}
</style>
</head>
<body style="background:#EEEEEE;"><br><br>
<div class="container">
<div class="row">
<div class="col-md-12 col-sm-12">
<h1>Haii selamat datang, anda login sebagai <?php echo $username; ?></h1> <a href="<?php echo site_url('member/dashboard/logout'); ?>">Logout</a>
</div>
</div>
</div>
</body>
<html>
dan hasilnya akan seperti ini :
Login Area
Login Sukses Ke Admin Area
Login Sukses Ke Member Area
:-#
ReplyDelete