Pemrograman Web ~ Login & Authorization
Assalamualaikum Warohmatullahi Wabarokatu
Halloo Semuanya kembali lagi dengan sayaa, Setelah beberapa minggu tidak upload karena sedang liburan , akhirnya saya dapat upload kembali artikel tentang pemrograman web . Kali ini saya akan melanjutkan kembali materi PHP sekarang akan membahas tentang Login & Authorization pada web pengolahan siswa sebelumnya.
Login
1. Buat table t_login pada database siswa
2. Insert Data pada table
Tambahkan data dengan enkripsi password = sha1
username = admin
pasword = admin
3. Buat Tampilan v_login.php
Contoh tampilannya
*contoh menggunakan Boostrap
4. Source Code v_login.php
<body>
<div class="container mt-5 box">
<div class="row">
<div class="col-md-6">
<h2>Login</h2>
<form action="/pwpb19/praktikum30/login.php" method="POST">
<div class="form-group">
<label for="username">Username</label>
<input class="form-control" type="text"
name="username" placeholder="Username" />
</div>
<div class="form-group">
<label for="password">Password</label>
<input class="form-control" type="password"
name="password" placeholder="Password" />
</div>
<button type="submit" class="btn btn-primary btn-block">Login</button>
</form>
</div>
</div>
</div>
</body>
5 Buat file login.php
Buat file login dengan Source Code berikut:
<?php
include 'lib/library.php';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * FROM t_login
WHERE username= '$username'
AND password = SHA1 ('$password')";
$data = $mysqli->query($sql) or die($mysqli->error);
if ($data->num_rows != 0) {
$row = mysqli_fetch_object($data);
$_SESSION['username'] = $row->username;
$_SESSION['level'] = $row->level;
header('location: index.php');
} else {
$error = "Username atau password salah";
}
}
include 'views/v_login.php';
Penjelasan : if yang pertama mengecek apakah ada request method post atau melakukan submit
setelah itu dibuat sqlnya. pada if kedua melakukan pengecekan saat login
6. Buat file Logout.php
Buat logout dengan menggunakan source code berikut :
<?php
session_start();
session_destroy();
header('location: index.php');
penjelasan : session_destroy digunakan untuk mengahapus session yang sudah diset
7. Authorization
adalah method untuk membuat pengecekan apakah user sudah login atau belum saat membuka web yang akan dibuat funtionnya di library.php Buka dan tambah kan source code berikut pada file lib/library.php :
function base_url()
{
return "http://localhost/pwpb19/praktikum30/index.php";
}
function flash($tipe, $pesan = '')
{
if (empty($pesan)) {
$pesan = $_SESSION[$tipe];
unset($_SESSION[$tipe]);
return $pesan;
} else {
$_SESSION[$tipe] = $pesan;
}
}
function cekLogin()
{
$username = @$_SESSION['username'];
$level = @$_SESSION['level'];
if (empty($username) and empty($level)) {
header("location: login.php");
}
}
function sudahLogin()
{
$username = @$_SESSION['username'];
$level = @$_SESSION['level'];
if (!empty($username) and !empty($level)) {
header("location: index.php");
}
Penjelasan : pada source code ini dibuat function baru yaitu cekLogin() dan sudahLogin dengan mengecek melalui username dan level bila pada session tersebut terdapat username dan level maka akan terdeteksi sudahLogin bila tidak ada terdeteksi belumLogin .
Tambahkan function cekLogin() pada index.php dan function sudahLogin() pada login.php
8. Coba Login
Cobalah untuk merefresh web apakah function berhasil atau tidak setelah itu coba login
agar keluar tombol logout tersebut anda dapat melakukan pengecekan login pada file v_index.php seperti berikut :
<?php
$username = @$_SESSION['username'];
$level = @$_SESSION['level'];
?>
<?php if (!empty($username) and !empty($level)) { ?>
<a href="logout.php">logout</a>
<?php } ?>
Comments
Post a Comment