Cara Membuat Login Dengan PHP Menggunakan Session

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

Cara Membuat Login Dengan PHP Menggunakan Session - Session login pada PHP sangat berguna pada aplikasi web yang kalian buat dimana web nya membutuhkan login dahulu untuk bisa menggunakan aplikasi tersebut. Dengan session login kalian juga bisa mencegah seseorang untuk direct langsung terhadap suatu halaman proses yang ada pada aplikasi web kalian. Nah pada postingan kali ini saya mau membagikan sedikit cara dalam membuat session login pada PHP.

Berikut langkah - langkahnya.

Membuat Session Login Pada PHP

  1. Pertama kalian buat database baru.
  2. Berinama database dengan login ( bebas ).
  3. Buat table dengan nama users.
  4. Lalu isi field table users seperti gambar dibawah ini.


  5. Lalu kalian isi data nya manual terlebih dahulu seperti gambar dibawah ini.

  6. Catatan
    Dapat kalian lihat untuk passwordnya, saya telah menambahkan MD5 untuk belajar menggunakan encrypt pada password yang nantinya kalian buat,
  7. Kemudian kalian buat folder baru di htdocs kalian dengan nama latihan_login.
  8. Selanjutnya kalian buat file baru di dalam folder tersebut dan beri nama dengan koneksi.php
  9. Lalu kalian ketikkan kode dibawah ini.
  10. 
    <?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
    ?>
    
    
  11. Lanjut, silahkan kalian buat file baru lagi dengan nama index.php file ini digunakan untuk tampilan pada form login.
  12. Lalu, kalian ketikan kode dibawah ini.
  13. 
    <?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>
    
    
    Penjelasan :
    session_start(); berfungsi untuk memulai atau menjalankan suatu session. Karena disini kita akan membuat login yang menggunakan session.
    $_SESSION['username'] berfungi untuk mengambil sebuah value dari suatu session.
    $_SESSION['nama_session'] bisa kalian lihat didalam kurung tersebut diisi sesuai dengan nama session yang sedang kalian buat, dan saat mendeklarasikan atau men-set suatu sessionnya. Sebagai contoh saya mendeklarasikannya sebagai username.
    $_COOKIE['message'] Kita juga menggunakan cookie dalam membuat session, tugas dari cookie ini sendiri adalah untuk menampilkan pesan error saat value yang diisikan salah.
  14. Selanjutnya, kalian buat file baru dengan nama login.php
  15. Kemudian kalian ketikkan kode dibawah ini.
  16. 
    <?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
    }
    ?>
    
    
  17. Kemudian buat file baru lagi dengan nama welcome.php
  18. Kemudian kalian ketikkan kode dibawha ini.
  19. 
    <?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>
    
    
  20. Terkahir kalian buat file baru dengan nama logout.php
  21. Kemudian kalian ketikkan kode dibawah ini.
  22. 
    <?php
    session_start(); // Start session nya
    session_destroy(); // Hapus semua session
    
    header("location: index.php"); // Redirect ke halaman index.php
    ?>
    
    
  23. Selesai..

Penutup

Nah itu dia tentang Cara Membuat Login Dengan PHP Menggunakan Session semoga bermanfaat buat kalian dalam belajar pemrograman, jika kalian kebingungan silahkan kalian tanyakan agar nantinya kalian tidak bingung dalam belajar, kolom komentar terbuka untuk kalian.