Anda di halaman 1dari 5

Membuat Form Login PHP MySQLI dan

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.

Tools yang perlu dipersiapkan


 Server lokal apache (telah tersedia diaplikasi xampp)
 Database Mysql (telah tersedia juga di xampp)
 Aplikasi teks editor seperti visual studio code

Fitur/komponen yang dibutuhkan

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.

Buat file login.php

Sekarang kita buat file login.php simpan didalam folder kalian.

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div class="container">
<h2>Login dengan PHP</h2><br>

<form method="post" action="login_action.php">


<div class="form-group">
<label>Username:</label>
<input type="text" class="form-control" name="username" placeholder="Masukan
Username">
</div>
<div class="form-group">
<label>Password:</label>
<input type="password" class="form-control" name="password" placeholder="Masukan
Password">
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Login">
</div>
</form>
</div>
</body>

</html>

Pada file login ini berisi form html untuk input username dan password, form ini nantinya akan
dikirim ke login_action.php

Buat file login_action.php


Tahap berikutnya kita membuat file untuk menerima nilai (value) dari kiriman form login.php. Buat
file dengan nama 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";

$hasil = mysqli_query ($kon,$sql);

$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 {

echo "Username atau password salah <br><a href='login.php'>Kembali</a>";

?>

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 mengeksekusi kueri tersebut


$hasil = mysqli_query ($kon,$sql);

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 {

echo "Username atau password salah <br><a href='login.php'>Kembali</a>";

Anda mungkin juga menyukai