Sunday, May 2, 2021

KD 15 Mengevaluasi & Memodifikasi aplikasi interaktif pada web (Membuat database, tabel, session, form login)

KD 3.15 Mengevaluasi aplikasi interaktif pada web 

KD 4.15 Memodifikasi aplikasi interaktif pada web 

Tujuan

1) Siswa dapat mengetahui cara membuat tabel database pada phpmyadmin
2) Siswa dapat menjelaskan cara membuat halaman login
3) Siswa dapat mengimplementasikan cara interaksi form login dengan php dan mysql
  

Materi

Konsep dalam cara membuat form login dengan PHP dan MySQL adalah membuat halaman form login dengan HTML terlebih dahulu dan selanjutnya akan dilengkapi dengan skrip php untuk memeriksa data pengguna di database MySQL. Jika pengguna terdapat dalam database MySQL, maka PHP akan membuat session untuk pengguna tersebut dan sekaligus akan mengarahkan pada halaman web yang telah diproteksi.

Penerapan SESSION

Biasanya, SESSION ini digunakan untuk keperluan autentifikasi user melalui login. Adapun idenya adalah apabila user sukses melakukan login, maka username ini akan disimpan dalam sebuah SESSION.
Mengapa
username ini harus disimpan ke dalam SESSION? Ya, dengan disimpannya username ke dalam SESSION sekaligus bisa digunakan untuk mencegah adanya penyusup yang masuk ke aplikasi tanpa melalui login. Untuk mengecek ada tidaknya penyusup yang masuk ke aplikasi tanpa login, bisa hanya dengan mengecek SESSION nya. Jika penyusup tadi masuk ke aplikasi tanpa login, otomatis SESSION nya belum ada, karena SESSION baru ada ketika user login dengan sukses.  

Latihan / Praktik

Berikut ini langkah-langkah untuk membuat aplikasi login menggunakan kode HTML dan PHP beserta MySQL sebagai database-nya. Aplikasi login digunakan untuk mencocokkan username dan password yang dimasukkan oleh user/admin dengan username dan password yang tersimpan di database. Dan berikut ini adalah langkah-langkahnya yang akan dibahas:
  1. Membuat tabel admin dengan MySQL
  2. Membuat form dalam file index.html
  3. Membuat session dalam file login.php 

Alur / Skema 


Langkah-langkah

Untuk membuat database dan tabel, jalankan kode berikut di software MySQL kalian dengan menggunakan phpmyadmin. Untuk lebih jelas tentang membuat database dan tabel MySQL di akses localhost/phpmyadmin/ berikut ini:  

Buatlah database dengan nama db_tugas 



Selanjutnya kalian akan membuat tabel admin (tentukan seperti gambar di bawah) yang digunakan untuk menyimpan data username dan password dari administrator 



Setelah memasukkan nama dan jumlah kolom, kemudian klik tombol Kirim (Go). Setelah itu mendefinisikan semua kolom / field dalam tabel admin kemudian klik tombol Simpan (Save)



Setelah tabel dibuat, kalian memasukkan satu sampel data yang disimpan kedalam tabel admin dengan cara klik tombol insert. Dan untuk kolom (field) id tidak perlu diisi, karena sudah berupa PRIMARY KEY dan Auto_increment (A_I). Untuk lebih jelasnya silahkan mengikuti seperti pada gambar berikut ini:  



Kemudian, membuat form dalam file index.html di dalam xampp/htdocs/form_login/index.html  

nama file : index.html

<!DOCTYPE html>
<html>
<head>
<title>Form Login</title>
</head>
<body>
<form action="login.php" method="post">
<table>
<tr>
<td>Username</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="login" value="Login"></td>
</tr>
</table>
</form>
</body>
</html>


Jika dijalankan hasilnya sebagai berikut :


Sebelum membuat file login.php, sebaiknya kita membuat file koneksi.php yang berguna untuk menghubungkan database dan file web

nama file : koneksi.php

<?php
$koneksi = mysqli_connect("localhost","root","","db_tugas");
if (mysqli_connect_errno()){
echo "Koneksi database gagal : " . mysqli_connect_error();
}
?>

Selanjutnya membuat file login.php, seperti terlihat dibawah ini :

<?php
session_start();
include "koneksi.php";
$username = $_POST['username'];
$password = $_POST['password'];
$query = mysqli_query($koneksi,"select * from admin where username='$username' and password='$password' ");
$cek = mysqli_fetch_array($query);
if($cek){
$_SESSION['username'] = $username;
?>
Anda berhasil login, silahkan menuju <br><br>
<center><b><font size="16px">Halaman Beranda</font></b></center>
<br>
<br>
<a href="logout.php">Logout</a>
<?php 
} else {
?>
Anda gagal login, <br>silahkan <a href="index.html">Login Kembali</a>
<?php
echo "Ada kesalahan";
}
?>
Hasil jika source code dijalankan :



jika username + password sesuai dengan data di database maka halaman utama akan tampil seperti gambar diatas, jika username + password salah / tidak sesuai maka akan kembali ke halaman login


Penjelasan dari proses login akan terlihat pada seperti gambar dibawah ini :


Terakhir klik logout.php untuk kembali ke halaman login dan menghapus session

nama file : logout.php

<?php
session_start();
session_destroy();
header("location: index.html");
?>


TUGAS INDIVIDU

  1. Apa fungsi dari penerapan SESSION dalam PHP ?
  2. Apa perbedaan dari penggunaan GET dan POST dalam PHP ?


NB : Tulis jawaban dari tugas individu ke dalam kertas dan foto sebagai bukti, kemudian kirimkan melalui WA atau akun facebook https://www.facebook.com/pak.hree













0 comments:

Post a Comment

 

© Copyright 2010 oleh HariZ| Powered By : Blogger