Pada kesempatan kali ini saya akan menjelaskan cara membuat sebuah login form serta proses nya menggunakan PHP dan HTML.
Pastikan kalian sudah menginstall XAMPP atau webserver lokal.
Pertama kita membuat sebuah tampilan dahulu, buatlah file dengan format ‘.php’, misalnya ‘index.php’.
<!-- simpan kode ini sesuai file yang kalian buat -->
<?php
session_start();
if(isset($_SESSION['akses'])){
header('location: dashboard.php');
}
<!DOCTYPE html>
<html>
<head>
<title> Login form </title>
</head>
<body>
<form method='post' action='proses.php' enctype='multipart/form-data'>
<input type='text' name='username' placeholder='username' required>
<br>
<input type='password' name='password' placeholder='password' required>
<br>
<button type='submit'>Masuk</button>
</form>
</body>
</html>
Ada beberapa bagian penting dari kode diatas yaitu
Kita membuat sebuah sesi baru session_start();, dan pada bagian if(isset($_SESSION[‘akses’])) kita periksa apakah sesi ‘akses’ memliki nilai, maka jika memiliki nilai kita akan pindahkan ke file dashboard.php.
Tujuan script php tersebut apakah user sebelumnya sudah login dan tidak sama sekali mengeluarkan akunnya.
action=’proses.php’ yang dimana data yang kita masukan akan dikirimkan ke file proses.php ini, dan pada bagian name=’username’, name=’password’.
Pada bagian name=’username’ kita akan mengambil inputan yang kita masukan kedalam <input>, begitu pula pada bagian name=’password’.
Properti name pada element <input> digunakan untuk mengidentifikasikan element tersebut memiliki sebuah id.
Selanjutnya kita akan menuju bagian prosesnya.
Buatlah file ‘proses.php’ yang dimana data yang akan dikirim menuju file tersebut.
<?php
//Kita mulai sebuah sesi
session_start();
//Kita tentukan username dan password secara manual
$user = 'admin';
$pass = 'root';
$username = $_POST['username'];
$password = $_POST['password'];
if( $username == $user ){
if( $password == $pass ){
//login berhasil
$_SESSION['akses'] = 1;
header("location: dashboard.php");
}else{
echo "password tidak sesuai";
}
}else{
echo "username tidak sesuai";
}
?>
Saya akan menjelaskan kode diatas.
Pertama kita memulai sebuah sesi, yang bertujuan untuk menambahkan data sesi ‘akses’ jika login berhasil.
$user,$pass saya inisialisasikan secara manual, kalian juga bisa menggunakan data dari database jika ingin login menggunakan akun yang berbeda.
$username = $_POST[‘username’]; yang dimana kita menerima data dari file ‘index.php’ tadi, begitu pula dengan $password = $_POST[‘password’];.
Selanjutnya merupakan validasi data, jika $username sama dengan $user maka selanjutnya ke jika $password sama dengan $pass maka login berhasil dan kita menambahkan nilai kedalam sesi ‘akses’, yaitu dengan cara $_SESSION[‘akses’] = 1;.
Jika $username dan $password ada yang tidak sesuai dengan $user, $pass maka akan mengeluarkan respon error.
Ketika sudah menambahkan sesi ‘akses’ kita pindahkan atau arahkan ke file dashboard.php dengan cara header(‘location: dashboard.php’);.
Terakhir kita berhasil ke bagian file dashboard.php.
Pada file ini kita akan memeriksa sesi ‘akses’ untuk mengetahui apakah user sudah login atau belum, jika belum kita akan kembalikan menuju form login yaitu ‘index.php’.
<?php session_start();
//cek apakah user sudah login ?
if(!isset($_SESSION['akses'])){
header('location: index.php');
}
?>
<!DOCTYPE html>
<html>
<head>
<title> Berhasil login </title>
</head>
<body>
<h1> Kamu berhasil login, <a href="logout.php">Keluar</a>.</h1>
</body>
</html>
Diatas merupakan kode bagian file ‘dashboard.php’, dan untuk cara mengecek apakah user sudah login atau belum yaitu
if(!isset($_SESSION[‘akses’]))
Jadi meskipun user belum login dan mengakses file ‘dashboard.php’ ini, maka otomatis kita akan mengembalikan user ke file ‘index.php’.
Selanjutnya kita buat file ‘logout.php’ untuk menghapus sesi ‘akses’ dan mengembalikan ke halaman login ‘index.php’.
<?php session_start();
if(isset($_SESSION)){
unset($_SESSION['akses']);
session_destroy();
header('location: index.php');
}else{
header('location: index.php');
}
?>
unset($_SESSION[‘akses’]); bertujuan untuk menghapus data sesi ‘akses’. Lalu kita hancurkan sesi nya kemudian kita pindahkan user ke halaman login form ‘index.php’.
Tips: ketika kalian akan menggunakan syntax $_SESSION pastikan kalian memulai sesi terlebih dahulu.
Sekian penjelasan dari saya, mohon maaf bila ada kesalahan dan kekurangan dalam penyampaian.
Jika ada yang ingin ditanyakan silahkan berkomentar di kolom komentar. have a nice day !.