Cara Membuat Sistem Login Multi Level / User menggunakan PHP dan MySQL

Assalammualaikum wr.wb.
Selamat sore semuanya pengunjung setia Syntax404, Saya berharap semua sehat sehat saja hehehe.
Sudah lama juga ya tidak posting artikel maaf ya karna gak sempat sempat lagi sibuk heheeh (sok orang sibuk).
Sesuai dengan judul diatas "Cara Membuat Sistem Login Multi Level / User menggunakan PHP dan MySQL" saya akan sedikit share tentang judul diatas baiklah kita simak sama sama ya.

Pertama-tama anda harus punya webserver (Xampp, apache, dll), bila belum punya bisa download disini
    Buat database dengan nama: dbuser
    Script database:
    -- Database: `dbuser`
    --

    -- --------------------------------------------------------

    --
    -- Table structure for table `tb_login`
    --

    CREATE TABLE IF NOT EXISTS `tb_login` (
    `kode_user` int(11) NOT NULL AUTO_INCREMENT,
    `username` varchar(50) NOT NULL,
    `password` varchar(50) NOT NULL,
    `nama` varchar(50) NOT NULL,
    `level` enum('admin','operator') NOT NULL,
    PRIMARY KEY (`kode_user`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

    --
    -- Dumping data for table `tb_login`
    --

    INSERT INTO `tb_login` (`kode_user`, `username`, `password`, `nama`, `level`) VALUES
    (1, 'admin', '81dc9bdb52d04dc20036dbd8313ed055', 'Admin', 'admin'),
    (2, 'User', '81dc9bdb52d04dc20036dbd8313ed055', 'Pengunjung', 'operator');

    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

    Kemudian setelah buat database dan tbl_login maka kita akan membuat file baru dengan nama koneksi.php
    <?php
    $host_name="localhost";
    $user_name="root";
    $password="";
    $database="dbuser";

    mysql_connect($host_name, $user_name, $password);
    mysql_select_db($database);

    ?>
    file koneksi.php berguna untuk mengoneksikan database saat kita memasukkan username dan password yang telah kita buat tadi didatabase.

    Setelah itu buat file baru lagi dengan nama index.php

    <?php
    @session_start(); // memulai session
    include "koneksi.php"; // memanggil koneksi

    if(@$_SESSION['admin'] || @$_SESSION['operator']) { // jika sudah ada session admin atau session operator, maka ke halaman index

    ?>

    <?php

     if(@$_SESSION['admin']) { //apabila sessionnya admin
      $userlogin = @$_SESSION['admin'];

     } else if(@$_SESSION['operator']) { //apabila sessionnya admin
      $userlogin = @$_SESSION['operator'];
     }

     // menuliskan query mysql dimana kode_user = $userlogin
     // yaitu session pada script di atas
     $sql = mysql_query("select * from tb_login where kode_user = '$userlogin'") or die(mysql_error());

     //menjadikan data sebagai arrray
     $data = mysql_fetch_array($sql);
    ?>
         <!--Menampilkan nama berdasarkan
         user yang login atau session-->
    <h1>Selamat Datang <?php echo $data['nama']; ?></h1><br />

    <!--Menuju halaman logout/keluar-->
    <a href="logout.php">Keluar</a>

    <?php
    }else {
      header("location: login.php");
      //jika tidak maka kembali ke halaman login.php

    }
    ?>

    Kemudian buat file baru lagi dengan nama login.php

    <?php 
    @session_start(); // memulai session
    include "koneksi.php"; // memanggil koneksi

    if (@$_SESSION['admin'] || @$_SESSION['operator']) { //apabila session admin ataupun operator sudah ada maka
     // langsung menuju kehalaman index.php
        header("location: index.php");
        //jika tidak ada
    } else {
     // menuju ke halaman login di bawah ini
    ?>

    <html>
        <head>
             <title>Login</title>
        </head>
            <body>
         <h1>LOGIN MULTI USER</h1>
             <table>
                  <form action="proses.php" method="post">
             <tr>
              <td>Username</td>
              <td><input type="text" name="user" /></td>
         </tr>
             <tr>
              <td>Password</td>
              <td><input type="password" name="pass" /></td>
         </tr>
             <tr>
              <td></td>
              <td><input type="submit" value="Masuk" name="login" /></td>
         </tr>
      </form>
     </table>
    </body>
    </html>

    <?php
    }
    ?>

     Kemudian kita buat file logoutnya agar bisa keluar, kita buat file baru lagi dengan nama logout.php

     <?php
    @session_start(); // memulai session

    session_destroy(); // menghancurkan session

    header("location: login.php"); //kembali ke halaman login.php
    ?>

    Setelah semua sudah jadi jangan lupa pula kita membuat file prosesnya agar dapat diproses oleh webserver, mari kita buat file baru dengan nama proses.php
    <?php 
    @session_start(); // memulai session
    include "koneksi.php"; // memanggil koneksi

    ?>

     <?php
            $user = @$_POST['user']; // variabel user untuk user
            $pass = @$_POST['pass']; // variabel pass untuk pass
            $login = @$_POST['login']; // variabel login untuk login
           
            if($login) { // jika login di klik
             if($user == "" || $pass == "" ) { // dan jika text user dan pass masih kosong
        ?>
            <!-- muncul peringatan dari javascript -->
            <script type="text/javascript">alert("Username atau password masih kosong"); window.location.href="login.php"</script> <?php
            }
            //jika tidak kosong
            else {
            // menuliskan query mysql dimana username = '$user' dan password = $ pass yang sudah di beri md5
            $sql = mysql_query("select * from tb_login where username = '$user' and password = md5('$pass') ") or die(mysql_error());
            //menjadikan data sebagai array
            $data = mysql_fetch_array($sql);
            //untuk mendapatkan jumlah baris pada database
            $cek = mysql_num_rows($sql);
            //jika kode user lebih sama dengan 1
            if($cek >= 1) {
             //dan jika levelnya admin
             if($data['level'] == "admin") {
                 @$_SESSION['admin'] = $data['kode_user'];
                  // maka menuju ke halaman index.php
                  header("location: index.php");
                //dan jika levelnya operator
                } else if($data['level'] == "operator") {
                 @$_SESSION['operator'] = $data['kode_user'];
                  // maka menuju ke halaman index.php
                  header("location: index.php");
               }
                //jika tidak
            }else {
               ?>
              <!-- muncul peringatan kalau login gagal dan langsung kembali ke halaman login.php-->
              <script type="text/javascript">alert("Login Gagal ."); window.location.href="login.php"</script> <?php
                }
                }
          }
     ?>

    Jika berhasil maka akan seperti gambar dibawah ini:
    Login Multi User
     catatan penting.
    Admin
    username: admin
    password: 1234
    User
    username: user
    password: 1234

    Anda juga bisa download scriptnya disini biar gak capek ngetik tapi saran saya sih lebih baik ketik sendiri agar dapat dipahami,
    Semoga bermanfaat artikel saya ini, saya akhiri Tutorial ini, Assalammualaikum wr.wb.
    Jangan lupa di bookmark dan coment kalok ada yang error semoga sukses pengunjung semua amin :)

    0 comments