$password=$_POST['password'];
if(empty($username)){
echo "<script>alert('Username tidak boleh
kosong');location.href='login.php';</script>";
} elseif(empty($password)){
echo "<script>alert('Password tidak boleh
kosong');location.href='login.php';</script>";
} else {
include "koneksi.php";
$qry_login=mysqli_query($conn,"select * from siswa where
username = '".$username."' and password = '".md5($password)."'");
if(mysqli_num_rows($qry_login)>0){
$dt_login=mysqli_fetch_array($qry_login);
session_start();
$_SESSION['id_siswa']=$dt_login['id_siswa'];
$_SESSION['nama_siswa']=$dt_login['nama_siswa'];
$_SESSION['status_login']=true;
header("location: home.php");
} else {
echo "<script>alert('Username dan Password tidak
benar');location.href='login.php';</script>";
}
}
}
?>
Penjelasan:
Sintak if($_POST){ bertujuan untuk mencegah muncul error Ketika user mengunjungi file
proses_login.php ini tanpa method post. Jika memiliki data kiriman berupa post maka akan
dieksekusi jika tidak maka tidak ternjadi apa-apa.
Data post akan disimpan kedalam variable $username dan $password dan sintak
if(empty($username)){ yang artinya data post tersebut akan divalidasi apakah menyimpan
data atau kosong jika tidak menyimpan data atau kosong maka akan memunculkan alert
username tidak boleh kosong atau password tidak boleh kosong.
Jika variable nya tidak kosong maka akan diuji dalan query mysql apakah data username dan
password sudah benar atau tidak dengan menggunakan sintak sebagai berikut
$qry_login=mysqli_query($conn,"select * from siswa where username = '".
$username."' and password = '".md5($password)."'");
Sintak if(mysqli_num_rows($qry_login)>0){ menguji apakah dengan username dan
password tersebut ada atau tidak didalam table user yang mana menampilkan jumlah baris ,
jika mengujian menunjukkan diatas 1 baris maka username dan password tersebut dianggap
benar dan akan dilanjutkan proses penyimpanan data user login yang mana akan disimpan ke
dalam session dengan sintak sebagai berikut
$dt_login=mysqli_fetch_array($qry_login);
session_start();
$_SESSION['id_siswa']=$dt_login['id_siswa'];
$_SESSION['nama_siswa']=$dt_login['nama_siswa'];
$_SESSION['status_login']=true;
Setelah itu akan diredirect ke halaman home.php
Selanjutnya akan kita buat halaman konten stelah login. Di halaman ini akan dipecah menjadi 3
file yaitu header.php, footer.php dan file konten. File header.php dan footer.php akan selalu di-
include-kan ke setiap halaman konten sebagai desain tetap atau desain static Ketika terjadi
permindahan halaman.
Modul PHP Native – Rekayasa Perangkat Lunak
SMK Telkom Malang
Sintak diatas berfungsi untuk mengecek apakah user berstatus sudah login atau belum login,
jika belum melakukan login maka akan diredirect ke login.php, tetapi jika sudah melakukan
login maka akan diteruskan prosesnya dihalaman home.php
Membuat file footer.php
7. Buatlah file footer.php di xampp/htdocs/perpus_native
8. Ketikkan sintak berikut:
</div>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bund
le.min.js"
integrity="sha384-gtEjrD/SeCtmISkJkNUaaKMoLD0//ElJ19smozuHV6z3Iehds+3Ulb
9Bn9Plx0x4" crossorigin="anonymous"></script>
</body>
</html>
12. Isikan username dan password yang sudah diinputkan (di materi insert data)
13. Kemudian klik tombol LOGIN
14. Jika username dan password salah maka akan tampil alert seperti dibawah ini:
Modul PHP Native – Rekayasa Perangkat Lunak
SMK Telkom Malang
15. Jika username dan password benar maka akan menuju ke halaman home.php seperti
pada gambar dibawah ini:
Tugas
1. Lanjutkan tugas sebelumnya terkait toko online, buatlah login page untuk pelanggan seperti
tutorial diatas!