Pertama buat database dan tabel untuk user disini saya membuat database codeigniter dan tabel login_session berikut sql nya :
Seletah selesai membuat database kita akan membuat folder baru di folder htdocts Anda disini saya memakai xampp buat folder dengan nama login_session kemudian buat Controller baru dengan nama auth.php :
<?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>";
}
}
}
?>
buat folder baru didalam Controller beri nama admin buat file didalamnya c_admin.php, kenapa membuat folder ? agar susunan file admin dan member terpisah dan lebih rapih :
<?php
session_start();
class C_admin extends CI_Controller {
public function __construct() {
parent::__construct();
if ($this->session->userdata('username')=="") {
redirect('auth');
}
$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('auth');
}
}
?>
lakukan seperti langkah diatas, buat folder baru didalam Controller berinama member buat file didalamnya c_member.php :
<?php
session_start();
class C_member extends CI_Controller {
public function __construct() {
parent::__construct();
if ($this->session->userdata('username')=="") {
redirect('auth');
}
$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('auth');
}
}
?>
script diatas menjelaskan apabila session belum dibuat atau session username kosong makan akan diarahkan kembali ke Controller auth.php/redirect(‘auth’);
Buat Model baru dengan nama model_user.php untuk pengecekan users di database Anda :
<?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;
}
}
?>
Buat View untuk menampilkan form login dibrowser, klik new file didalam folder Application View dengan nama 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>AZZURA Media | Admin</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>
Buat folder baru didalam folder Application View berinama admin dan buat file index.php, ini untuk halaman admin apabila berhasil login<!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>AZZURA Media | Admin</title>
</head>
<body>
<h1>Haii selamat datang, anda login sebagai <?php echo $username; ?></h1> <a href="<?php echo site_url('admin/c_admin/logout'); ?>">Logout</a>
</body>
</html>
Kemudian untuk halaman member buat folder baru didalam Application View berimana member dan buat file index.php, ini untuk halaman member apabila berhasil login<!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>AZZURA Media | Member</title>
</head>
<body>
<h1>Haii selamat datang dihalaman <b>member</b>, anda login sebagai <?php echo $username; ?></h1> <a href="<?php echo site_url('admin/c_admin/logout'); ?>">Logout</a>
</body>
</html>
apabila kalian mengikuti semua tutorial stuktur folder dan file dalam folder codeigniter akan seperti ini, saya beritanda garis merah yang artinya file yang kita buat didalam tutorial membuat login session multiuser dengan codeigniter iniBuka hasil buatan Anda dan lihat jika sudah benar akan muncul form login sederhana dengan tombol Log In. Masukan username dan password yang ada didatabase kemudian klik tombol login, apabila admin yang masuk akan diarahkan kehalaman admin apabila member akan diarahkan kehalaman member
Sekian tutorial saya kali ini semoga dapat membantu teman-teman semua :D:D:D
0 Response to "Membuat Login Multiuser Dengan CodeIgniter"
Posting Komentar