Membuat login Multiuser dengan framework codeigniter yang di integrasikan menggunakan template AdminLTE , dalam kesempatan kali ini saya akan membagikan bagaimana membuat session multiuser dengan Codeigniter langsung ke tkp;
1. Buat tabel user kedalam database anda ( disini saya menggunakan Mysql )
INSERT INTO `user` (`u_id`, `nama`, `u_name`, `u_paswd`, `role`) VALUES (1, 'andrian', 'andrianext', '21232f297a57a5a743894a0e4a801fc3', 'admin'),(2, 'user admin', 'user', '21232f297a57a5a743894a0e4a801fc3', 'user');2. Download source Codeigniter versi 2.2 Stable di : www.codeigniter.com/download
3. Extrak dan copy file CI yang sudah di download tersebut ke webserver local anda
4. Kalo menggunakan xampp tarus file tersebut di htdocs, rename nama project sesuai selera anda
5. Setelah itu akan terlihat direktori folder tersebut seperti ini :
6. Buka folder application- controllers, disitu buat contraller dengan nama login.php dan masukan script di bawah ini;
<?php
class Login extends CI_Controller {
function __construct() {
parent::__construct();
session_start();
$this->load->model(array('m_user'));
if ($this->session->userdata('u_name')) {
redirect('dashboard');
}
}
function index() {
$this->load->view('login');
}
function proses() {
$this->form_validation->set_rules('username', 'username', 'required|trim|xss_clean');
$this->form_validation->set_rules('password', 'password', 'required|trim|xss_clean');
if ($this->form_validation->run() == FALSE) {
$this->load->view('login');
} else {
$usr = $this->input->post('username');
$psw = $this->input->post('password');
$u = mysql_real_escape_string($usr);
$p = md5(mysql_real_escape_string($psw));
$cek = $this->m_user->cek($u, $p);
if ($cek->num_rows() > 0) {
//login berhasil, buat session
foreach ($cek->result() as $qad) {
$sess_data['u_id'] = $qad->u_id;
$sess_data['nama'] = $qad->nama;
$sess_data['u_name'] = $qad->u_name;
$sess_data['role'] = $qad->role;
$this->session->set_userdata($sess_data);
}
redirect('dashboard');
} else {
$this->session->set_flashdata('result_login', '<br>Username atau Password yang anda masukkan salah.');
redirect('login');
}
}
}
function logout() {
$this->session->sess_destroy();
redirect('login');
}
}
7. Buat model di application- models , berinama m_user.php dan copykan script dibawah ini
<?php
class M_user extends CI_Model {
private $table = "user";
function cek($username, $password) {
$this->db->where("u_name", $username);
$this->db->where("u_paswd", $password);
return $this->db->get("user");
}
function semua() {
return $this->db->get("user");
}
function cekKode($kode) {
$this->db->where("u_name", $kode);
return $this->db->get("user");
}
function cekId($kode) {
$this->db->where("u_id", $kode);
return $this->db->get("user");
}
function getLoginData($usr, $psw) {
$u = mysql_real_escape_string($usr);
$p = md5(mysql_real_escape_string($psw));
$q_cek_login = $this->db->get_where('users', array('username' => $u, 'password' => $p));
if (count($q_cek_login->result()) > 0) {
foreach ($q_cek_login->result() as $qck) {
foreach ($q_cek_login->result() as $qad) {
$sess_data['logged_in'] = 'aingLoginWebYeuh';
$sess_data['u_id'] = $qad->u_id;
$sess_data['u_name'] = $qad->u_name;
$sess_data['nama'] = $qad->nama;
$sess_data['group'] = $qad->group;
$sess_data['rid'] = $qad->rid;
$this->session->set_userdata($sess_data);
}
redirect('dashboard');
}
} else {
$this->session->set_flashdata('result_login', '<br>Username atau Password yang anda masukkan salah.');
header('location:' . base_url() . 'login');
}
}
}
8. Setelah kita buat controller dan model untuk menu login kemudian kita buat view nya di application - views, dengan nama login.php dan copykan script seperti dibawah ini;
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Andrianext | Log in</title>
<meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
<!-- Bootstrap 3.3.2 -->
<link href="<?php echo base_url('assets/css/bootstrap.min.css'); ?>" rel="stylesheet" >
<!-- Font Awesome Icons -->
<link href="<?php echo base_url('assets/css/font-awesome.min.css'); ?>" rel="stylesheet">
<!-- Theme style -->
<link href="<?php echo base_url('assets/css/AdminLTE.min.css'); ?>" rel="stylesheet">
<!-- iCheck -->
<link href="<?php echo base_url('assets/js/plugins/iCheck/square/blue.css'); ?>" rel="stylesheet">
</head>
<body class="login-page">
<div class="login-box">
<div class="login-logo">
<a href="#" ><b>Andria</b>Next</a>
</div><!-- /.login-logo -->
<div class="login-box-body">
<p class="login-box-msg">Sign in to start your session </p>
<form action="<?php echo site_url('login/proses'); ?>" method="post">
<?php
if (validation_errors() || $this->session->flashdata('result_login')) {
?>
<div class="alert alert-error">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>Warning!</strong>
<?php echo validation_errors(); ?>
<?php echo $this->session->flashdata('result_login'); ?>
</div>
<?php } ?>
<div class="form-group has-feedback">
<input type="text" name="username" class="form-control" placeholder="Username"/>
<span class="glyphicon glyphicon-user form-control-feedback"></span>
</div>
<div class="form-group has-feedback">
<input type="password" name="password" class="form-control" placeholder="Password"/>
<span class="glyphicon glyphicon-lock form-control-feedback"></span>
</div>
<div class="row">
<div class="col-xs-8">
<div class="checkbox icheck">
<label>
<input type="checkbox"> Remember Me
</label>
</div>
</div><!-- /.col -->
<div class="col-xs-4">
<button type="submit" class="btn btn-primary btn-block btn-flat">Sign In</button>
</div><!-- /.col -->
</div>
</form>
<div class="social-auth-links text-center">
<p>- OR -</p>
<a href="#" class="btn btn-block btn-social btn-facebook btn-flat"><i class="fa fa-facebook"></i> Sign in using Facebook</a>
<a href="#" class="btn btn-block btn-social btn-google-plus btn-flat"><i class="fa fa-google-plus"></i> Sign in using Google+</a>
</div><!-- /.social-auth-links -->
<a href="#">I forgot my password</a><br>
<a href="register.html" class="text-center">Register a new membership</a>
</div><!-- /.login-box-body -->
</div><!-- /.login-box -->
<!-- jQuery 2.1.3 -->
<script src="<?php echo base_url('assets/js/plugins/jQuery/jQuery-2.1.3.min.js'); ?>"></script>
<!-- Bootstrap 3.3.2 JS -->
<script src="<?php echo base_url('assets/js/bootstrap.min.js'); ?>"></script>
<!-- iCheck -->
<script src="<?php echo base_url('assets/js/plugins/iCheck/icheck.min.js'); ?>"></script>
<script>
$(function () {
$('input').iCheck({
checkboxClass: 'icheckbox_square-blue',
radioClass: 'iradio_square-blue',
increaseArea: '20%' // optional
});
});
</script>
</body>
</html>
9. Copykan folder assets yang berisi ccs dan javascript yang sudah di custume dari template bootstrap AdminLTE2.0, dan bisa di download di bawah ini.
10. Coba buka project anda misal ; http://localhost/andrianext/ ,
11. Masukan User: andrianext , Password : admin sebagai login administrator/admin
10. Coba buka project anda misal ; http://localhost/andrianext/ ,
11. Masukan User: andrianext , Password : admin sebagai login administrator/admin
14. Demikian tutorial untuk membuat menu login multi user, untuk source codenya anda bisa download di mari. http://adf.ly/1AFsNu