Login Pada PHP


         Assalamualaikum, bagaimana kabarnya teman teman semua sudah lama saya tidak upload blog terbaru karena ada beberapa kesibukan akhir akhir ini. Pada blog ini saya akan kembali menjelaskan tentang Pembuatan Sistem Login menggunakan Bahasa Pemogramman PHP. Langsung saja siapkan project yang CRUD kemarin di text-editor masing masing.

Langkah Pertama

  Buat Tabel Baru pada database dengan struktur seperti gambar di bawah ini :



Lalu isi data di tabel database yang telah dibuat dengan data username : admin dan password : admin (convert ke SHA 1) , seperti di bawah ini :


Langkah Kedua

Buat Halaman Login beserta form loginnya, seperti gambar di bawah :


Buat v_login di folder di views, Kodingan Halaman Login :

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Login</title>
    <link rel="stylesheet" href="Assets/css/login.css">
    <link rel="stylesheet" href="Assets/fontawesome/css/all.min.css">
</head>
<body>
<center><br><br><br><br><br><br><br><br>
<div class="form">
        <form action="login.php" method="POST">            
            <h2>Log In</h2>
            <hr class="garis1">
            <table width="85%" border="0">
                <tr>
                    <td>
                        <?php ifisset($error)) : ?>
                            <p style="color:red;">username / password salah</p>
                        <?php endif?>
                    </td>
                </tr>
                <tr>                    
                    <td width="400">
                        <div class="input">
                            <div class="icon"><i class="fas fa-user"></i></div>
                            <input type="text" name="username" id="username" autocomplete="off" placeholder="Masukan Username">
                        </div>
                    </td>
                </tr>
                <tr>
                    <td><br></td>
                </tr>
                <tr>                
                    <td>
                        <div class="input">
                            <div class="icon"><i class="fas fa-lock"></i></div>
                            <input type="password" name="password" id="password" placeholder="Masukan Password">
                        </div>    
                    </td>
                </tr>
                <tr>
                    <td><br></td>
                </tr>
                <tr>
                    <td align="right">
                        <button type="submit" name="login" class="back">Login</button> 
                    </td>
                </tr>
                <tr>
                    <td><br></td>
                </tr>                
                <tr>
                    <td valign="middle" height="30">
                        <div class="signup">
                            <hr class="garis2">OR<hr class="garis2">
                        </div>
                    </td>
                </tr>
                <tr>
                    <td><br></td>
                </tr>            
                <tr>
                    <td>
                        <a href="#"><div class="regis">Registrasi</div></a>
                    </td>
                </tr>
            </table>

        </form>
    </div>
</center>
</body>
</html>


Buat dan Tambahkan kodingan di bawah ini ke dalam file login.php

<?php
    include'lib/library.php';

    sudahLogin();

    if (isset($_POST["login"])){
        $username = $_POST['username'];
        $password = $_POST['password'];

        $sql = "SELECT * FROM login WHERE username = '$usernameAND password = SHA1 ('$password') ";

        $data = $mysqli->query($sql) or die ($mysqli->error);

        if ($data->num_rows != 0) {
            $row = mysqli_fetch_object($data);
            $_SESSION['username'] = $row->username;
            $_SESSION['level']    = $row->level;
            header('location:index.php');
        } else {
            $error = "Username atau Password salah";
        }
    }
    include'views/v_login.php';
?>


Percobaan Menggunakan Sistem Login untuk masuk ke halaman index :

kita masuk ke halaman login dan masukan username dan password, seperti di bawah ini :


ada 2 kemungkinan benar dan salah, Jika username dan password salah akan tampil seperti di bawah ini :


Jika username dan password benar maka akan langsung menuju ke halaman index seperti di bawah ini :


Untuk Logout kita bikin file logout.php dan masukan kodingan di bawah ini :

<?php
    session_start();
    session_destroy();
    header('location:login.php');
?>


Langkah Ketiga

      pada langkah ketiga ini saya akan memberitahu bagaimana caranya membuat sistem semakin aman dan sistematis dengan cara user tidak diperbolehkan masuk ke halaman index sebelum melakukan login.

1. Buat file lin di folder library dan masukan kodingan di bawah ini :

<?php

session_start();

function base_url() {
// sesuai folder masing masing
    return "http://localhost/pwpb/[semester2]pertemuan1";
}

function flash($tipe, $pesan = '') {
    if (empty($pesan)) {
        $pesan = @$_SESSION[$tipe];
        unset($_SESSION[$tipe]);
        return $pesan;
    } else {
        $_SESSION[$tipe] = $pesan;
    }
}

function cekLogin() {
    $username = @$_SESSION['username'];
    $level = @$_SESSION['level'];

    if (empty($username) AND empty ($level)) {
        header("location: login.php");
    }
}

function sudahLogin() {
    $username = @$_SESSION['username'];
    $level = @$_SESSION['level'];

    if (!empty($username) AND !empty ($level)) {
        header("location: index.php");
    }
}

?>

2. tambahkan kodingan di bawah ini di index.php setelah lib/library.php
$success = flash('success');
$error = flash('error');
cekLogin();

3. tambahkan kodingan di bawah ini di login.php setelah lib/library.php
sudahLogin();

4. Tambahkna include 'lib/lib.php' di file library.php di folder lib


    Mungkin sekian materi yang dapat saya bagikan kepada teman teman semua semoga bermanfaat dan bisa menjadi pahala dan amal kebaikan untuk kita semua, Terima Kasih Wassalamualaikum