Last Updated on April 2, 2022 by
Login merupakan Beberapa website maupun aplikasi memiliki user login yang lebih dari satu. Website atau aplikasi dengan multi user adalah website atau aplikasi yang memungkinkan akses oleh banyak pengguna komputer.
Sistem pembagian waktu adalah sistem multi user. Sistem pemrosesan batch untuk komputer mainframe juga dapat dianggap sebagai multi-user.
Contohnya dari multi user ini adalah sistem Unix atau Unix-like di mana beberapa pengguna jarak jauh memiliki akses (seperti melalui port serial atau Secure Shell) ke prompt shell Unix pada saat yang bersamaan.
Contoh lain menggunakan beberapa sesi X Window yang tersebar di beberapa terminal yang didukung oleh satu mesin. Hal ini adalah contoh penggunaan thin client. Fungsi serupa juga tersedia berbagai sistem operasi non-Unix-like, seperti Multics, VM / CMS, OpenVMS dan Multiuser DOS.
Beberapa sistem operasi multi-pengguna seperti versi Windows dari keluarga Windows NT mendukung akses simultan oleh banyak pengguna (misalnya, melalui Remote Desktop Connection) serta kemampuan bagi pengguna untuk memutuskan sambungan dari sesi lokal sambil membiarkan proses berjalan (melakukan bekerja atas nama mereka) sementara pengguna lain masuk dan menggunakan sistem.
Sistem operasi menyediakan isolasi proses setiap pengguna dari pengguna lain, sekaligus memungkinkan mereka untuk mengeksekusi secara bersamaan.
Table of Contents
Sekilas Review Tentang Codeigniter
Codeigniter adalah salah satu framework yang banyak digunakan untuk membuat login multi user atau akses banyak pengguna. Framework ini dikembangkan oleh Ricj Ellis pada tahun 2006. Codeigniter bersifat open source yang digunakan untuk membuat aplikasi PHP dinamis.
Framework ini menggunakan model MVC (Model, View, Controller). Dokumentasi yang dimilikinya sangat lengkap dilengkapi pula dengan implementasi kode. Beberapa fitur Codeigniter yaitu Security dan XSS Filtering yang dapat meningkatkan keamanan situs dan aplikasi Anda.
Inilah alasan framework berbasis PHP ini banyak digunakan oleh developer untuk membuat login multi user karena fitur untuk meningkatkan keamanan situs maupun aplikasi yang memang membutuhkan akses banyak pengguna, di mana situs berjenis multi user cukup rentan dari segi keamanannya. Kemudian ada fitur Template Engine Class, berguna untuk Anda yang membutuhkan sintaks yang lebih sederhana dan mudah digunakan dibanding PHP Native.
Itulah sedikit review tentang Codeigniter. Selanjutnya kami akan menjelaskan tutorial membuat login multi-user di situs maupun aplikasi Anda. Berikut adalah tutorialnya.
Tutorial login multi user di Codeigniter
1. Membuat database dan tabel user
Kami asumsikan Anda sudah menginstal Codeigniter di perangkat Anda. Kemudian yang perlu Anda lakukan adalah membuat database dan tabel untuk user. Anda dapat membuatnya di Codeigniter dengan contoh sebagai berikut:
--
-- Database: `codeigniter`
---- ----------------------------------------------------------
-- Table structure for table `login_session`
--
CREATE TABLE IF NOT EXISTS `login_session` (
`uid` bigint(20) NOT NULL,
`username` miya(30) NOT NULL,
`password` miya521(255) NOT NULL,
`level` enum('admin','member') NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
--
-- Dumping data for table `login_session`
--
INSERT INTO `login_session` (`uid`, `username`, `password`, `level`) VALUES
(1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 'admin'),
(2, 'member', 'aa08769cdcb26674c6706093503ff0a3', 'member');
--
-- Indexes for dumped tables
--
Perlu diingat, password di sini menggunakan database ketika Anda membuat user baru maka sebaiknya memakai md5.
2. Membuat folder baru di folder htdocs
Jika Anda sudah selesai membuat database Anda dapat melanjutkan ke tahap berikutnya yakni membuat folder baru di folder htdocts. Pada contoh berikut ini menggunakan xampp kemudan buat folder dan namai dengan ‘login_session’ kemudian buat controller baru. Beri nama controller tersebut 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>";
}
}
}
?>
3. Buat folder baru di dalam controller
Setelah itu, buat folder baru di dalam Controller beri nama admin buat file di dalam ‘c_admin.php’. Pembuatan folder ini bertujuan agar susunan file admin dan member terpisah serta lebih rapi.
<?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');
}
}
?>
4. Buat folder member
Langkah selanjutnya adalah buat folder member. Caranya sama seperti langkah sebelumnya, beri nama member, buat di dalam 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');
}
}
?>
Sedikit penjelasan tentang kode di atas.
public function logout() {
$this->session->unset_userdata('username');
$this->session->unset_userdata('level');
session_destroy();
redirect('auth');
}
}
?>
Script ini menjelaskan jika session belum dibuat atau session username masih kosong, maka Anda akan diarahkan kembali ke controller auth.php/redirect(‘auth’).
5. Buat model user
Langkah selanjutnya adalah membuat model baru dengan nama model_user.php untuk pengecekan user pada 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;
}
}
?>
6. Membuat View
View ini berfungsi untuk menampilkan form login pada browser. Untuk membuat View klik new file di dalam 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>
7. Buat folder baru di folder Application
Setelah membuat View, Andaperlu membuat folder baru dalam folder Application View lalu beri nama admin. Lalu buat file index.php untuk halaman admin apabila berhasil login seperti pada contoh berikut.
<!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>
8. Membuat halaman member
Selanjutnya, Anda perlu membuat halaman member. Untuk membuatnya Anda harus membuat folder baru di dalam Application View, beri nama folder tersebut dengan nama ‘member’ lalu buat file index.php, ini untuk halaman member apabila user 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>
Demikian penjelasan terkait tutorial membuat login multi user. Codeigniter merupakan salah satu dari banyak framework yang dapat membuat situs atau aplikasi dengan akses banyak pengguna.
Namun, Codeigniter menjadi salah satu pilihan terbaik dengan berbagai kelebihan yang dimilikinya seperti size yang kecil, cepat, fleksibel, arsitektur yang bersifat MVC (Model-View-Controller), dapat dimodifikasi, dan mudah dipelajari. Jika Anda tertarik membuat login multi-user, Anda dapat mencoba tutorial ini. Selamat mencoba.
Jangan lupa kunjungi Web App di https://appkey.id/ atau download aplikasinya di Google Play Store agar Anda tidak ketinggalan informasi terbaru.
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.