menggunakan Session
Form login dalam sebuah aplikasi web adalah hal yang wajib. Hal ini berfungsi untuk
mengidentifikasi pengguna yang mengakses aplikasi kita dan memetakan hak akses pengguna.
Ketika kita membuat sebuah aplikasi web dengan PHP tentu akan ada rules/aturan dimana ada
beberapa halaman yang dapat diakses tanpa pengguna harus login terlebih dahulu. Namun ada
juga halaman yang diakses harus melalui login dulu.
Untuk membuat login dengan PHP dan mysqli kita membutuhkan beberapa komponen seperti
Enskripsi md5
Enskirpsi md5 akan kita gunakan untuk meng enskripsi password, agar password pengguna
tidak dapat terlihat didatabase.
Variabel Session
Session merupakan sebuah variabel sementara yang tersimpan di server. Kita dapat
menyimpan data pengguna yang login misalnya; username, nama,email dan lainnya.
Function Mysqli
Fungsi mysqli digunakan untuk aplikasi php native yang berhubungan dengan database.
Fungsi mysqli adalah penyempurnaan dari fungsi mysql, Penggunannyapun hanya pada versi
PHP 5 keatas.
CSS
Konfigurasi Database
Gunakan konfigurasi database pendaftaran siswa yang telah kalian buat. Silahkan tambahkan file di
folder yang sama.
Buat table baru dengan nama user dengan deskripsi berikut :
id_user int not null auto_increment primary key,
username varchar(30) not null,
nama varchar(30),
email varchar(50),
password varchar(200)
Membuat file config.php
Karena di data kita sudah ada tidak perlu membuat file config lagi.
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div class="container">
<h2>Login dengan PHP</h2><br>
</html>
Pada file login ini berisi form html untuk input username dan password, form ini nantinya akan
dikirim ke login_action.php
<?php
session_start();
include "config.php";
$username = $_POST["username"];
$p = md5($_POST["password"]);
$sql = "select * from user where username='".$username."' and password='".$p."' limit 1";
$jumlah = mysqli_num_rows($hasil);
if ($jumlah>0) {
$row = mysqli_fetch_assoc($hasil);
$_SESSION["id_user"]=$row["id_user"];
$_SESSION["username"]=$row["username"];
$_SESSION["nama"]=$row["nama"];
$_SESSION["email"]=$row["email"];
header("Location:user.php");
}else {
?>
Pada file login_action disini kita membuat sistem login dengan session, diamana pada awal sintak
memulai variabel session dengan perintah session_start(), Kemudian kita include kan file koneksi
ke database lewat file config.php
session_start();
include "config.php";
Selanjutnya kita membuat variabel untuk menampung nilai dari form login untuk username dan
password, untuk passwordnya disini kita menggunakan fungsi enskripsi md5
$username = $_POST["username"];
$p = md5($_POST["password"]);
Selanjutnya kita buat perintah query untuk mengecek username dan password pada tabel user
didalam database penjualan yang telah kita buat
$sql = "select * from user where username='".$username."' and password='".$p."' limit 1";
selanjutnya kita buat fungsi untuk menghitung hasil row berdasarkan query yang kita jalankan
diatas, dengan menggunakan function mysqli_num_rows. Kemudian nilai nya disimpan pada
variabel $jumlah
$jumlah = mysqli_num_rows($hasil);
Selanjutnya kita membuat kondisi apabila variabel jumlah mempunyai nilai lebih dari 0 (artinya
bahwa user tersebut datanya ada didatabase, maka akan di set nilai variabel session berdasarkan
hasil baris query diatas)
disini saya menyimpan session untuk id_user,username,nama,email. Nantinya setiap nilai yang
disimpan pada variabel session dapat kita akses.
Kemudian selanjutnya halaman akan di arahkan pada file user.php, namun apabila kondisi tidak
tepenuhi maka blok else yang akan dikerjakan yaitu menampilkan pemberitahuan ‘Username atau
password salah’
if ($jumlah>0) {
$row = mysqli_fetch_assoc($hasil);
$_SESSION["id_user"]=$row["id_user"];
$_SESSION["username"]=$row["username"];
$_SESSION["nama"]=$row["nama"];
$_SESSION["email"]=$row["email"];
header("Location:user.php");
}else {