Multi level login dengan PHP dan MySQL

Selamat malam sahabat Gaz,

sudah lama tidak bertemu, dikarenkan kegiatan yang cukup pada 1 tahun terakhir, semoga sahabat sahabat Gaz, masih tetap setiap bergabung disini. langsung saja kita menuju Topik yang akan kita bahas kali ini, yaitu " Multi level login dengan PHP dan MySQL "

Sebelum memulai mari kita pikirkan sejenak algoritma untuk membuat "Multi level login dengan PHP dan MySQL"

Berikut Alogritma yang saya gunakan,

Disini kita akan menggukan Username, Password, dan Level sebagai Keyword yang digunakan untuk login, dimana Level akan kita bagi menjadi dua yaitu user dan administrator yang akan menentukan ke halaman mana yang akan di tuju setelah melakukan proses login.

Kalau begitu mari kita membuat database yang bernama dblogin 
dengan tabel sebagai berikut

Nama : tbuser

dengan field sebagai berikut:

 

mari kita mulai membuat stuktur file, berikut stuktur file saya  :



membuat stuktur yang rapi bukan hanya enak di pandang mata namun mempermudah kita dalam melakukan menajemen file nanti nya. baik saya jelas kan sedikit

Folder utama kita adalah Form login namun anda bisa mengantinya dengan nama apapun,
Folder css digunakan untuk meletakkan file css disana
Folder images digunakan untuk meletakan file gambar
Folder Inc digunakan untuk meletakan file yang bertugas menghubungkan PHP dengan MySQL
index.php disini kita gunakan untuk menampilkan form login
cek_login.php digunakan untuk mengecek proses login yang terjadi,
halaman_admin.php dan halaman_user.php ini adalah halaman yang akan di tuju setelah melakukan proses login bila level nya user maka akan menuju halaman_user.php dan apa bila level nya administrator maka akan diarahkan menuju halaman_admin.php

berikut kode index.php

<!DOCTYPE html>
<html>
<head>
<title>Belajar membuat multilevel login</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>

<div class="container">
<form action="cek_login.php" method="POST" class="form">
<div class="form-control">
<label>Username</label>
<input type="text" class="form-element" name="username" placeholder="Enter Username">
</div>
<div class="form-control">
<label>Password</label>
<input type="password" class="form-element" name="password" placeholder="Enter Password">
</div>
<input type="submit" class="btn-submit" name="login" value="Login"> <input type="reset" class="btn-cancel" value="Cancel">
</form>
</div>

</body>

</html>

dan berikut kode style.css

*{
    padding: 0px;
    margin: 0px;
    box-sizing: border-box;
}

body{
    font-family: 'arial';
    font-size: 13px;
}

.form {
    padding: 10px;
}

.container {
    width: 300px;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 50%;
    margin-top: -168px;
}

.form-control {
    margin: 10px 0px;
}

.form-control > label {
    display: block;
    margin-bottom: 3px;
}

.form-control > .form-element {
    width: 100%;
    padding: 10px 20px;
    border: 1px solid #53BDB7;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
}

.btn-submit {
    background: #53BDB7;
    border: none;
    padding: 10px 15px;
    color: #FFF;
    cursor: pointer;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
}

.btn-cancel{
     background: #EA9363;
    border: none;
    padding: 10px 15px;
    color: #FFF;
    cursor: pointer;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;

}

bila benar menuliskannya maka akan terlihat seperti berikut


selanjutnya mari kita hubungkan PHP dengan database dengan MySQL dengan cara sebagai berikut pada file koneksi.php yang berada di folder inc 

<?php
// nama host anda
$host = "localhost";

// nama user database
$userdb = "root";

// password database
$passdb = "";

// nama database
$db = "dblogin";

// menghubungkan PHP dengan MySQL
$mysql = new mysqli($host, $userdb, $passdb, $db) or die('Can`t connect to database');

?>

lalu include file koneksi.php ke dalam file cek_login.php karna nanti nya file cek_login.php akan berhubungan dengan database, berikut isi file cek_login.php

<?php

require_once ('inc/koneksi.php');
// mendeklarasikan variable
$username = $_POST['username'];
$password = $_POST['password'];

// enkripsi password
$password = md5($password);
// query untuk mencari user yang ada
$query = "SELECT * FROM tbuser WHERE username='" . $username . "' AND password='" . $password . "'";

// mengeksekusi variable $query
$exec = $mysql->query($query);
// mendapat kan nilai baris
$row = $exec->num_rows;

// jika baris ditemukan dan jumlah baris sama dengan 1
if($row == 1)
{
// mendapat kan data user pada database
$data =  $exec->fetch_assoc();

// cek level apakah user atau administrator atau yang lainnya
if($data['level'] == "user")
{
//jika level user arah menujur halaman_user.php
header('location: halaman_user.php');
}
elseif($data['level'] == "administrator")
{
//jika level administrator arah menujur halaman_admin.php
header('location: halaman_admin.php');
}
else
{
//kembalikan ke halaman login
header('location: index.php');
}
}
// jika username dan password tidak ada pada database
else
{

//jika jumlah baris lebih keceil dari 1 atau jumlah lebih besar dari 1 kembalikan ke halaman login
header('location: index.php');
}

dan untuk file halaman_admin.php, isi dengan

<!DOCTYPE html>
<html>
<head>
<title>Halaman Admin</title>
</head>
<body>

<h3>Selamat Datang di halaman Administrator</h3>

</body>
</html>

dan file halaman_user.php di isi dengan

<!DOCTYPE html>
<html>
<head>
<title>Halaman User</title>
</head>
<body>

<h3>Selamat Datang di halaman User</h3>

</body>
</html>


sebelum mencoba nya mari kita isi dlu tbuser yang tadi telah kita buat, seperti berikut



Proses pembuatan Multi level login telah selesai
Silahkan di coba,

bila ingin men-download source nya silahkan klik link berikut Google Drive

Bagi temen - temen yang punya algoritma selain diatas silahkan tulis di komentar dan akan kami kami pilih yang terbaik dan akan kami umum kan pemenangnya di artikel selanjutnya

Bagi yang ingin request tutorial atau ingin memberi masukan secara pribadi silahkan kirim email ke gazkintzz96@gmail.com

Bagi yang ingin memberikan pendapat, kritik, atau masukan bisa juga langsung tulis komentar di bawah

Selamat malam,





No comments:

Powered by Blogger.