Menguasai Cara Jitu Membuat Login Multi User Level Pakai PHP dan MySQLi
Yo Sobat Teknologi! Apa kabar? Kalian pasti sudah tahu dong tentang sistem login? Yaps, sistem login itu penting banget buat membatasi akses ke halaman-halaman tertentu di website atau aplikasi, sesuai dengan hak akses pengguna. Nah, kali ini kita akan ngobrol soal gimana cara membuat Login Multi User Level menggunakan PHP dan MySQLi.
Jangan khawatir, bro and sis! Walau mungkin kedengarannya rumit, kita akan kupas tuntas dalam artikel kali ini. Ngarifin pengetahuan dulu deh seputar Login Multi User Level, terus kita langsung ke praktik, step-by-step, yaa. Yuk, check it out!
Pendahuluan: Kenapa Harus Login Multi User Level, sih?
Sebelum ngomongin cara bikinnya, kita bahas dulu nih kenapa harus Login Multi User Level? Kebanyakan website atau aplikasi tuh punya beberapa jenis pengguna, seperti admin, staff, member atau lainnya. Masing-masing pengguna ini tentu punya hak akses yang beda-beda, dong.
Misalnya, si admin punya hak akses buat ngelola semua data, terus si staff hanya bisa ngelola data pelanggan, terakhir si member cuma bisa ngeliat data mereka sendiri. Eits, biar ngga ribet dan berantakan, kita butuh nih sistem Login Multi User Level.
Siapin Dulu Barang "Perang"
Jadi, sebelum kita mulai ngoprek ke PHP dan MySQLi, ada beberapa peralatan yang harus kita siapin dulu. Tenang, sob! Nggak perlu panik. Itu mah cuma peralatan software alias aplikasi yang dipake buat bikin sistem login. Berikut ini kebutuhan yang harus kamu siapin:
- Web Server (misalnya: XAMPP atau WAMP)
- Text Editor (bisa pake Notepad++, Sublime Text, atau Visual Studio Code)
- Browser Web (Google Chrome, Mozilla Firefox, atau yang lainnya)
Kalau tiga item di atas udah siap, kita lanjut ya ke tahap selanjutnya, yaitu membangun basis data yang akan kita gunakan untuk sistem login multi user level kita.
Bangun Rumah Data yang Mantul
Nah, sekarang kita bakal buat basis data yang cocok buat sistem login multi user level. Jangan lupa buka aplikasi web server seperti XAMPP atau WAMP, terus aktifin Apache dan MySQL-nya.
Pertama-tama, kita buat dulu nih tabel pengguna di basis data. Caranya gampang, ikutin langkah-langkah berikut deh:
- Buka browser favorit kamu, terus ketik
localhost/phpmyadmin
- Klik "New" buat bikin basis data baru, kasih nama misal "multi_user_login", terus klik "Create"
- Nah, di basis data yang udah dibuat, kita bikin tabel baru dengan nama "users", terus tentuin jumlah kolomnya (misal 5), terus klik "Go"
- Nah, kita masukin nama kolom dan tipe datanya:
id
: INT – AUTO_INCREMENT – Primary Keyusername
: VARCHAR (50)password
: VARCHAR (255)email
: VARCHAR (100)level
: ENUM ('admin', 'staff', 'member')
Yow! Kolom basis data kita udah jadi. Sekarang kita bisa masukin data awal buat tiap level user. Misalnya kita masukin:
id
= 1,username
= "Admin",password
= "admin123",email
= "[email protected]",level
= "admin"id
= 2,username
= "Staff",password
= "staff123",email
= "[email protected]",level
= "staff"id
= 3,username
= "Member",password
= "member123",email
= "[email protected]",level
= "member"
Sip dah, rumah data kita udah siap. Sekarang saatnya bikin script PHP-nya.
PHP dan MySQLi Racik Sendiri, Gurih Banget!
Di bab ini, kita bakal gabungin PHP dan MySQLi supaya sistem login multi user level kita jalan. Kita bakal bangun file-project-nya dulu, terus mulai ngoding di tiap bagian.
1. Bikin Struktur File-Project
Sebelum kita mulai, bikin dulu folder "multi_user_login" di dalam folder htdocs
(kalau pake XAMPP) atau www
(kalau pake WAMP). Terus di folder "multi_user_login" ini, kita bikin beberapa file:
config.php
: buat ngatur koneksi ke basis datalogin.php
: buat ngurusin proses loginregister.php
: buat ngurusin proses registrasidashboard.php
: buat nampilin tampilan dashboard sesuai level penggunalogout.php
: buat ngatur mekanisme logout
Oke, kita mulai dari file config.php
:
2. Bikin Koneksi ke Basis Data
Bisikin PHP nomor IP kita, jangan lupa usernamenya- begitu liriknya. Begini caranya:
<?php
  $servername = "localhost";
  $username = "root";
  $password = "";
  $dbname = "multi_user_login";
  $koneksi = new mysqli($servername, $username, $password, $dbname);
  if ($koneksi->connect_error) {
    die("Koneksi gagal: " . $koneksi->connect_error);
  }
?>
Sekarang file login.php
:
3. Bikin Form Login
Ini dia nih yang ditunggu-tunggu: bikin form login. Check it out!
<?php
  session_start();
  include("config.php");
  if (isset($_SESSION["username"])) {
    header("Location: dashboard.php");
  }
?>
<!DOCTYPE html>
<html>
<head>
  <title>Login Multi User Level | BacaBos.com</title>
</head>
<body>
  <h1>Login Multi User Level - BacaBos.com</h1>
  <form action="" method="POST">
    <label>Username:</label><br>
    <input type="text" name="username" required><br><br>
    <label>Password:</label><br>
    <input type="password" name="password" required><br><br>
    <button type="submit" name="submit">Login</button>
  </form>
  <p>Belum punya akun? <a href="register.php">Daftar di sini</a></p>
  <?php
    if (isset($_POST["submit"])) {
      $username = $_POST["username"];
      $password = $_POST["password"];
      $query = "SELECT * FROM users WHERE username = '$username'";
      $result = $koneksi->query($query);
      if ($result->num_rows > 0) {
        $row = $result->fetch_assoc();
        if (password_verify($password, $row["password"])) {
          $_SESSION["username"] = $row["username"];
          $_SESSION["level"] = $row["level"];
          header("Location: dashboard.php");
        } else {
          echo "Password salah, bro!";
        }
      } else {
        echo "Username nggak ketemu, coba lagi!";
      }
    }
  ?>
</body>
</html>
Dah jadi nih form login-nya. Trus kita bikin register.php
:
4. Bikin Form Registrasi
Nah, skarang kita pindah ke form registrasi. Ga mau kan selalu bingung cari username dan password waktu mau masuk: biar yang masuk itu kita-kita saja.
Setelah file login.php udah, sekarang ayo kita bikin file register.php
:
<?php
  session_start();
  include("config.php");
  if (isset($_SESSION["username"])) {
    header("Location: dashboard.php");
  }
?>
<!DOCTYPE html>
<html>
<head>
  <title>Registrasi Multi User Level | BacaBos.com</title>
</head>
<body>
  <h1>Registrasi Multi User Level - BacaBos.com</h1>
  <form action="" method="POST">
    <label>Username:</label><br>
    <input type="text" name="username" required><br><br>
    <label>Password:</label><br>
    <input type="password" name="password" required><br><br>
    <label>Email:</label><br>
    <input type="email" name="email" required><br><br>
    <label>Level:</label><br>
    <select name="level" required>
      <option value="admin">Admin</option>
      <option value="staff">Staff</option>
      <option value="member">Member</option>
    </select><br><br>
    <button type="submit" name="submit">Daftar</button>
  </form>
  <p>Sudah punya akun? <a href="login.php">Login di sini</a></p>
  <?php
    if (isset($_POST["submit"])) {
      $username = $_POST["username"];
      $password = password_hash($_POST["password"], PASSWORD_DEFAULT);
      $email = $_POST["email"];
      $level = $_POST["level"];
      $query = "INSERT INTO users (username, password, email, level) VALUES ('$username', '$password', '$email', '$level')";
      $result = $koneksi->query($query);
      if ($result) {
        echo "Pendaftaran berhasil! Silakan <a href='login.php'>login di sini</a>.";
      } else {
        echo "Pendaftaran gagal, bro! Coba lagi ya!";
      }
    }
  ?>
</body>
</html>
Oke dah, file register.php
udah selesai. Kita bikin skarang dashboard.php
:
5. Bikin Dashboard Sesuai Level
Terus kita lanjutkan dengan file dashboard.php
yang akan menampilkan konten sesuai dengan level pengguna:
<?php
  session_start();
  include("config.php");
  if (!isset($_SESSION["username"])) {
    header("Location: login.php");
  }
?>
<!DOCTYPE html>
<html>
<head>
  <title>Dashboard Multi User Level | BacaBos.com</title>
</head>
<body>
  <h1>Dashboard Multi User Level - BacaBos.com</h1>
  <p>Halo, <?php echo $_SESSION["username"] ?>! Selamat datang di Dashboard.</p>
  <p>Anda login sebagai <strong><?php echo $_SESSION["level"] ?></strong>.</p>
  <a href="logout.php">Logout</a>
  <?php if($_SESSION["level"] == "admin") : ?>
    <h2>Menu Admin</h2>
    <ul>
      <li>Menu 1</li>
      <li>Menu 2</li>
      <li>Menu 3</li>
    </ul>
  <?php endif; ?>
  <?php if($_SESSION["level"] == "staff") : ?>
    <h2>Menu Staff</h2>
    <ul>
      <li>Menu A</li>
      <li>Menu B</li>
      <li>Menu C</li>
    </ul>
  <?php endif; ?>
  <?php if($_SESSION["level"] == "member") : ?>
     <h2>Menu Member</h2>
    <ul>
      <li>Menu I</li>
      <li>Menu II</li>
      <li>Menu III</li>
    </ul>
  <?php endif; ?>
</body>
</html>
Yeay! Dashboard udah bisa menyesuaikan sesuai level pengguna nih. Akhirnya kita bikin file logout.php
:
6. Bikin Mekanisme Logout
Selanjutnya, kita bikin file logout.php
buat ngatur proses logout pengguna:
<?php
  session_start();
  session_destroy();
  header("Location: login.php");
?>
Dan taraaa! Skarang sistem Login Multi User Level pake PHP dan MySQLi udah jadi dan bisa dipake. Cuss coba langsung, latihan bikin deh, good luck!
Ternyata udah selesai nih tutorial membuat sistem Login Multi User Level menggunakan PHP dan MySQLi, Sob! Yuk, kita review apa yang udah kita lakukan:
- Membuat basis data dan tabel
users
lewat phpMyAdmin. - Menyiapkan file
config.php
buat ngatur koneksi ke basis data. - Bikin form login di file
login.php
dan mekanisme login. - Bikin form registrasi di file
register.php
dan mekanisme registrasi. - Bikin
dashboard.php
yang menampilkan konten sesuai level pengguna. - Menyiapkan file
logout.php
buat ngatur mekanisme logout.
Maka udah selesai deh proses pembuatan sistem Login Multi User Level ini. Praktikkan dan eksplor lebih dalam yuk. Modifikasilah sesuai kebutuhan kamu, bisa juga memperkaya desain dan tampilan agar lebih menarik.
Kalau kamu pengen belajar lebih lanjut soal PHP dan MySQLi atau pun topik lain seputar teknologi dan pemrograman, jangan ragu buat mengeksplorasi, membaca tutorial, dan berdiskusi dengan rekan-rekan kamu yang juga berminat di bidang yang sama. Keep learning and happy coding! 🚀
Comments