Cara Membuat Login Dengan Session PHP

Cara Membuat Login Dengan Session PHP

Cara Membuat Login Dengan Session PHP
Cara Membuat Login Dengan Session PHP


Hallo sobat ruangcoder, artikel kali ini Tutorial atau Cara Membuat Login Dengan Session PHP, yang dimana session ini nantinya berguna , apa bila user tersebut belum login maka tidak akan bisa masuk ke halaman utama , nah jadi ini sangat penting agar tidak sembarangan orang bisa masuk ke halaman utama website sobat , tanpa user tersebut login, tanpa banyak basa - basi langsung saja ke tahap pembuatannya.

Cara Membuat Form Login Dengan Session PHP :


Langkah pertama cukup mudah , seperti biasa sobat silahkan buat database baru , disini admin menamakan database tersebut dengan nama login dan untuk table nya tersebut admin beri nama users, silahkan sobat buat , dan untuk isi kolom nya bisa sobat lihat gambar dibawah ini :


Setelah membuat datanya berhasil , sobat masukkan data dulu secara manual ke dalam tabel users seperti gambar dibawah ini :


Oke , setelah sobat menambahkan satu data users , dan jangan lupa untuk password harus sobat encrypt dengan MD5 , setelah selesai, sobat silahkan buat folder baru di htdocs sobat , disini admin menakan foldernya tersebut dengan latihan_login , dan sobat bisa langsung drag and drop folder tersebut ke Text Editor sobat , seperti biasa , disini admin menggunakan text editor Sublime , nah lanjut , yang pertama silahkan sobat buat file koneksi.php di dalam folder latihan_login , dan kemudian sobat ketikkan kode dibawah ini :





<?php
$host = "localhost"; // Nama hostnya
$username = "root"; // Username
$password = ""; // Password (Isi jika menggunakan password)
$database = "login"; // Nama databasenya

$connect = mysqli_connect($host, $username, $password, $database); // Koneksi ke MySQL
?>

Nah setelah sobat selesai membuat file koneksinya , lanjut ke tahap berikutnya , yaitu sobat membuat sebuah file baru di folder latihan_login dengan nama index.php , yang dimana file ini nantinya untuk tampilan awal atau tampilan form login :



<?php
session_start(); // Start session nya

// Kita cek apakah user sudah login atau belum
// Cek nya dengan cara cek apakah terdapat session username atau tidak
if(isset($_SESSION['username'])){ // Jika session username ada berarti dia sudah login
    header("location: welcome.php"); // Kita Redirect ke halaman welcome.php
}
?>

<html>
<head>
    <title>Halaman Sebelum Login</title>
</head>
<body>
    <h1>Silahkan login terlebih dahulu...</h1>
    
    <div style="color: red;margin-bottom: 15px;">
        <?php
        // Cek apakah terdapat cookie dengan nama message
        if(isset($_COOKIE["message"])){ // Jika ada
            echo $_COOKIE["message"]; // Tampilkan pesannya
        }
        ?>
    </div>
    
    <form method="post" action="login.php">
        <label>Username</label><br>
        <input type="text" name="username" placeholder="Username"><br><br>
        
        <label>Password</label><br>
        <input type="password" name="password" placeholder="Password"><br><br>
        
        <button type="submit">Login</button>
    </form>
</body>
</html>

nah untuk penjelasannya mengenai beberapa kode diatas , akan admin jelaskan disini secara singkat saja ya, session_start();  nah pada kode ini sobat bisa melihat , dimana fungsi kode ini untuk memulai atau menjalankan sebuah session. Karena disini sobat akan membuat login menggunakan session. $_SESSION['username'] dan untuk kode yang satu ini, adalah salah satu cara untuk sobat mengambil sebuah value dari suatu session dengan struktur nya sebagai berikut

$_SESSION_['nama_session'] yang dimana pada bagian nama_session tersebut sobat isi sesuai dengan nama session yang sobat buat saat mendeklarasikan atau men-set suatu sessionnya. Dalam tutorial ini admin set session nya dengan nama username. Sobat akan set sessionnya pada saat proses login nanti , yang dimana ada pada step selanjutnya dan untuk kode $_COOKIE['message'] disini sobat juga menggunakan yang namanya cookie.

tapi apa sobat tau Apa itu Cookie? Nah cookie ini berfungsi hampir sama dengan session, hanya saja perbedaanya dalam cookie ini adalah untuk menyimpan informasi di browser yang sobat gunakan. Sementara pada kode session menyimpan suatu informasi pada server web itu sendiri. Nah untuk cara mengambil value dari cookie pun hampir sama sobat, yakni $_COOKIE['nama_cookie'] Jadi pada tutorial kali ini juga sobat akan menggunakan Cookie yang dimana tugas nya untuk menampung pesan error apabila sobat gagal login.


Langkah selanjutnya adalah sobat membuat file baru untuk proses loginnya. Buat file dengan nama login.php, dan sobat simpan pada folder latihan_login, yang sobat sebelumnya telah buat :



<?php
session_start(); // Start session nya

include "koneksi.php"; // Load file koneksi.php

$username = mysqli_real_escape_string($connect, $_POST['username']); // Ambil value username yang dikirim dari form
$password = mysqli_real_escape_string($connect, $_POST['password']); // Ambil value password yang dikirim dari form
$password = md5($password); // Kita enkripsi (encrypt) password tadi dengan md5

// Buat query untuk mengecek apakah ada data user dengan username dan password yang dikirim dari form
$sql = mysqli_query($connect, "SELECT * FROM users WHERE username='".$username."' AND password='".$password."'");
$data = mysqli_fetch_array($sql); // Ambil datanya dari hasil query tadi

// Cek apakah variabel $data ada datanya atau tidak
if( ! empty($data)){ // Jika tidak sama dengan empty (kosong)
    $_SESSION['username'] = $data['username']; // Set session untuk username (simpan username di session)
    $_SESSION['nama'] = $data['nama']; // Set session untuk nama (simpan nama di session)
    
    setcookie("message","delete",time()-1); // Kita delete cookie message
    
    header("location: welcome.php"); // Kita redirect ke halaman welcome.php
}else{ // Jika $data nya kosong
    // Buat sebuah cookie untuk menampung data pesan kesalahan
    setcookie("message", "Maaf, Username atau Password salah", time()+3600);
    
    header("location: index.php"); // Redirect kembali ke halaman index.php
}
?>

Setelah itu sobat lanjut , membuat halaman dashboardnya , atau halaman setelah loginnya. sobat buat dengan nama file welcome.php pada folder latihan_login yang telah sobat buat sebelumnya. dan sobat ketikkan kode nya yang ada dibawah ini :



<?php
session_start(); // Start session nya

// Kita cek apakah user sudah login atau belum
// Cek nya dengan cara cek apakah terdapat session username atau tidak
if( ! isset($_SESSION['username'])){ // Jika tidak ada session username berarti dia belum login
    header("location: index.php"); // Kita Redirect ke halaman index.php karena belum login
}
?>

<html>
<head>
    <title>Halaman Setelah Login</title>
</head>
<body>
    <h1>Selamat datang <?php echo $_SESSION['nama']; ?></h1>
    <h4>Anda berhasil login ke dalam aplikasi</h4>
    
    <a href="logout.php">Logout</a>
</body>
</html>

Dan sobat bisa lihat gambar dibawah ini , apabila sobat berhasil dengan tanpa error , maka akan login dan mengarah ke welcome.php dan memunculkan text sebagai berikut , kemudian , kita akan membuat fungsi dari logout.php :


Tahap yang terakhir adalah , sobat silahkan buat file baru dengan nama file nya logout.php di dalam folder latihan_login, yang sobat telah buat sebelumnya , dan sobat ketikkan kode dibawah ini :



<?php
session_start(); // Start session nya
session_destroy(); // Hapus semua session

header("location: index.php"); // Redirect ke halaman index.php
?>

Nah , sudah selesai deh , silahkan sobat logout dan coba sobat akses http://localhost/latihan_login/welcome.php setelah logout, maka hasilnya sobat akan diarahkan ke http://localhost/latihan_login/index.php, jadi itulah fungsi dari session ,

nah mungkin tutorial Cara Membuat Login Dengan Session PHP sampai sini aja , jika sobat kurang mengerti silahkan sobat tanyakan di kolom komentar , jika tutorial ini bermanfaat jangan lupa di share tutorialnya , dan sampai jumpa di tutorial selanjutnya.

Anda mungkin menyukai postingan ini