Membuat Login Multi User dengan PHP
PHP Source CodeNah, pada kesempatan kali ini saya akan mencoba membuat sebuah sistem login sederhana dimana masing-masing user dapat login sesuai dengan hak akses yang telah diberikan.
Baiklah, berikut langkah-langkahnya:
Buat database dengan nama
multiuser, dan tabel tb_user. Berikut kodenya:CREATE DATABASE IF NOT EXISTS `multiuser` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `multiuser`;
CREATE TABLE IF NOT EXISTS `tb_user` (
`username` varchar(100) NOT NULL,
`password` varchar(100) NOT NULL,
`hak_akses` varchar(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `tb_user` (`username`, `password`, `hak_akses`) VALUES
('admin', 'admin', 'Admin'),
('user', 'user', 'User');
Buat file
koneksi.php untuk melakukan koneksi ke database yang telah dibuat tadi. Berikut kodenya:<?php
$host = "localhost";
$username = "root";
$password = "";
$database = "multiuser";
mysql_connect($host,$username,$password) or die("Koneksi gagal");
mysql_select_db($database) or die("Database tidak bisa dibuka");
?>
Juka sudah, sekarang kita buat
css. Saya menggunakan 2 css:- Css bootstrap versi 3.3.7, sobat bisa download langsung di
https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css - Css modifikasi, buat file
style.css. Berikut cuplikan kodenya:
html,
body {
height: 100%;
}
body {
display: -ms-flexbox;
display: -webkit-box;
display: flex;
-ms-flex-align: center;
-ms-flex-pack: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-pack: center;
justify-content: center;
padding-top: 40px;
padding-bottom: 40px;
background-color: #f5f5f5;
}
.form-signin {
width: 100%;
max-width: 330px;
padding: 15px;
margin: 0 auto;
}
.form-signin .checkbox {
font-weight: 400;
}
.form-signin .form-control {
position: relative;
box-sizing: border-box;
height: auto;
padding: 10px;
font-size: 16px;
}
.form-signin .form-control:focus {
z-index: 2;
}
.form-signin input[type="email"] {
margin-bottom: -1px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.form-signin input[type="password"] {
margin-bottom: 10px;
border-top-left-radius: 0;
border-top-right-radius: 0;
}
Sekarang kita buat file
index.php lalu salin kode berikut:<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="description" content="Sistem login multiuser" />
<meta name="author" content="rap3rr0r">
<title>Login ..</title>
<link rel="stylesheet" href="bootstrap.min.css" />
<link rel="stylesheet" href="style.css" />
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<!-- Google Font -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic">
</head>
<body>
<form action="act-login.php" method="POST" class="form-signin">
<h1 class="text-center">Login kuy ..</h1>
<div class="form-group">
<div class="col-lg-12">
<input type="text" class="form-control" name="username" style="margin-top: 5px;" placeholder="Username" required>
<input type="password" class="form-control" name="password" style="margin-top: 5px;" placeholder="Password" required>
<button type="submit" class="btn btn-default">Masuk</button>
</div>
</div>
<p class="mt-5 mb-3 text-muted text-center"><a href="https://facebook.com/rap3rr0r">© 2019</a></p>
</form>
</body>
</html>
Selanjutnya kita buat file
act-login.php untuk mengeksekusi form yang ada pada file index.php. Berikut kodenya:<?php
include "koneksi.php";
function antiinjection($data){
$filter_sql = mysql_real_escape_string(stripslashes(strip_tags(htmlspecialchars($data,ENT_QUOTES))));
return $filter_sql;
}
$username = antiinjection($_POST['username']);
$password = antiinjection($_POST['password']);
$waktu = time()+25200;
$expired = 60;
$query = mysql_query("SELECT * FROM tb_user WHERE username='$username' AND password='$password'");
$in = mysql_num_rows($query);
$r = mysql_fetch_array($query);
if ($in > 0){
session_start();
$_SESSION['username'] = $r['username'];
$_SESSION['password'] = $r['password'];
$_SESSION['hak_akses'] = $r['hak_akses'];
$_SESSION['timeout'] = $waktu+$expired;
$waktulog = time();
if($r['hak_akses']=="Admin"){
header("location:home-admin.php");
}
else if($r['hak_akses']=="User"){
header("location:home-user.php");
}
}else{
echo "<script type='text/javascript'>
window.alert('Username Atau Password Anda Salah');
window.location =('index.php')</script>";
}
?>
Kita buat file
home-admin.php dan home-user.php untuk mengarahkan jika user telah berhasil login.File
home-admin.php:<?php
session_start();
if(!isset($_SESSION['username'])){
die("<script>window.alert('Oops! Access Failed, sistem logout. Anda harus melakukan Login kembali.');
location=('./')</script>");
}
if($_SESSION['hak_akses']!="Admin"){
die("<script>window.alert('Oops! Access Failed, Anda Tidak Memiliki akses.');
location=('./')</script>");
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="description" content="Sistem login multiuser" />
<meta name="author" content="rap3rr0r">
<title>Home Admin ..</title>
<link rel="stylesheet" href="bootstrap.min.css" />
<link rel="stylesheet" href="style.css" />
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<!-- Google Font -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic">
</head>
<body>
<h1 class="text-center">Welcome Admin<br><a href="logout.php" class="btn btn-primary">Keluar</a></h1>
</body>
</html>
File
home-user.php:<?php
session_start();
if(!isset($_SESSION['username'])){
die("<script>window.alert('Oops! Access Failed, sistem logout. Anda harus melakukan Login kembali.');
location=('./')</script>");
}
if($_SESSION['hak_akses']!="User"){
die("<script>window.alert('Oops! Access Failed, Anda Tidak Memiliki akses.');
location=('./')</script>");
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="description" content="Sistem login multiuser" />
<meta name="author" content="rap3rr0r">
<title>Home User ..</title>
<link rel="stylesheet" href="bootstrap.min.css" />
<link rel="stylesheet" href="style.css" />
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<!-- Google Font -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic">
</head>
<body>
<h1 class="text-center">Welcome User<br><a href="logout.php" class="btn btn-primary">Keluar</a></h1>
</body>
</html>
Dan yang terakhir, kita buat file
logout.php:<?php
session_start();
session_destroy();
echo"
<script language='javascript'>
window.alert('Anda Berhasil Keluar Dari Sistem');
window.location=('index.php')
</script>
";
?>
Untuk hak akses jika lebih dari dua seperti tutorial ini, sobat bisa menambahkan kondisi
else if baru pada file act-login.php. Dan jangan lupa buat file baru untuk mengarahkan user jika berhasil login sesuai dengan hak akses yang ingin dibuat. Dan 1 lagi, buat user baru di database sesuai dengan hak akses baru tersebut.Contoh untuk menambahkan kondisi baru pada file
act-login.php dengan hak akses baru yaitu Mahasiswa. Berikut kodenya:if($r['hak_akses']=="Admin"){
header("location:home-admin.php");
}
else if($r['hak_akses']=="User"){
header("location:home-user.php");
}
else if($r['hak_akses']=="Mahasiswa"){
header("location:home-mahasiswa.php");
}
Yosh, mungkin cukup sekian untuk tutorial Membuat Login Multi User dengan PHP.
Bagi sobat yang ingin mendownload source codenya, sudah saya sediakan.
Download source kode:
SEMOGA BERMANFAAT DAN MEMBANTU



Berkomentarlah sesuai artikel.
No spam, no SARA