Melanjutkan materi sebelumnya Membuat Login dengan PHP dan MySQLi, mari kita buat file cek_login.php sebagai berikut :

<?php // mengaktifkan session php
session_start();

// menghubungkan dengan koneksi
include 'koneksi.php';

// menangkap data yang dikirim dari form
$username = $_POST['username'];
$password = $_POST['password'];

// menyeleksi data admin dengan username dan password yang sesuai
$data = mysqli_query($koneksi,"select * from pengguna where username='$username' and password='$password'");

// menghitung jumlah data yang ditemukan
$cek = mysqli_num_rows($data);

if($cek > 0){
$_SESSION['username'] = $username;
$_SESSION['st'] = "login";
header("location:index.php");
}else{
header("location:login.php?pesan=gagal");
}
?>

Yang harus diperhatikan adalah adanya perintah session_start(); yang memiliki kegunaan untuk menyimpan data sementara pada server dan kemudian menyimpannya di browser yang kita pakai. session ini bisa hilang jika cookies di browser, kita hapus
berikutnya ada include 'koneksi.php'; yang merupakan penghubung dengan database kita.

kemudian ada penggunaan perintah $_POST seperti ini :
$username = $_POST['username'];
$password = $_POST['password'];
fungsinya bisa dilihat di tutorial sebelumnya tenteng GET POST
setelah kita dapatkan data dari form login kemudian kita seleksi data tersebut yang sesuai dengan data yang ada didalam tabel dengan fungsi ini :
$data = mysqli_query($koneksi,"select * from pengguna where username='$username' and password='$password'");
hasilnya akan di cek melalui fungsi
$cek = mysqli_num_rows($data);
jika data ditemukan (username dan password valid) maka nilai dari $cek adalah 1 karena fungsi mysqli_num_rows(); adalah menghitung jumlah record hasil dari query yang dibuat
jika variabel $cek lebih dari nol dalam artian username dan password adalah valid maka session username serta st dibuat dan akan dialihkan ke page index.php
jika gagal akan dikembalikan ke login.php?pesan=gagal, dengan membawa variabel pesan yang berisi gagal.
oleh sebab itu di file login ada perintah "... if(isset($_GET['pesan'])){..."

selanjutnya kita akan tambahkan pada file index.php yang sebelumnya sudah dibuat dengan script sebagai berikut setelah tag <body>
<a href="logout.php">LOGOUT</a>
<!-- cek apakah sudah login -->
<?php
session_start();
if($_SESSION['st']!="login"){
header("location:login.php?pesan=belum_login");
}
?>

<h4>Selamat datang, <?php echo $_SESSION['username']; ?>! anda telah login.</h4>


berikutnya kita buat file logout.php

<?php
// mengaktifkan session
session_start();

// menghapus semua session
session_destroy();

// mengalihkan halaman sambil mengirim pesan logout
header("location:login.php?pesan=logout");
?>

file ini berfungsi untuk menghapus semua session yang sudah dibuat dan mengembalikan kembali ke halaman login.php

selamat mencoba
 
Top