Cara Mudah Membuat Multi Login di PHP

Share:

Cara Mudah Membuat Multi Login di Php. Assalamualaikum, teman-teman sekalian, aplikasi yang hebat tentu memiliki hak akses yang berbeda-beda, ini juga disebut dengan multi user atau multi akses. Bagi programmer php pemula biasanya sedikit kesulitan membuat hak akses yang berbeda-beda untuk tiap user. Tapi kali ini saya akan membahas Cara Membuat Multi Login di Php dengan bahasa yang mudah dimengerti oleh semua orang.

APA YANG HARUS DIPAHAMI TERLEBIH DAHULU ?

Pada tutorial kali ini saya akan membuat mutli user atau multi login sederhana. tapi meskipun sederhana kita perlu memahami beberapa hal untuk membuatnya dapat bekerja. Apa saja yang harus dipelajari dan dipahami sebelum kita memluai tutorial ini ?
  • Pemrograman Php dasar
  • Session (session akan digunakan untuk mengecek apakah user sudah login atau belum)
  • Membuat struktur tabel basisdata sederhana
Saya rasa hal-hal yang saya sebutkan diatas tidaklah begitu sulit untuk dipelajari, apalagi klo teman-teman sekalian sudah berhasil membuat aplikasi CRUD sederhana.


CARA MEMBUAT MULTI LOGIN DI PHP

  • 1. Pertama-tama buatlah folder baru di dalam htdocs dengan nama multilogin, folder ini akan digunakan untuk menampung semua file yang kita buat nantinya
  • 2. Lalu buatlah database dengan nama latihan, lalu buat tabel sederhana dengan nama user. Adapaun struktur tabelnya bisa dilihat pada gambar dibawah ini. Ingat untuk menyamakan nama-nama field dan mencentang A_I (auto increment)
tabel dan struktur tabel user
Tabel dan Struktur Tabel User

  • 3. Kemudian Isilah tabel dengan beberapa record, saya contohkan seperti gambar di bawah ini.
tabel record
Tabel Record

  • 4. Buatlah sebuah halaman baru dengan nama index.php di dalam folder multilogin. Kemudian copy script di bawah ini dan pastekan di file tersebut. Disini saya menggunakan bootstrap sehingga formnya sedikit lebih menarik.

<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<!------ Include the above in your HEAD tag ---------->

<style>
    body {
        margin: 0;
        padding: 0;
        background-color: #17a2b8;
        height: 100vh;
    }
    #login .container #login-row #login-column #login-box {
        margin-top: 120px;
        max-width: 600px;
        height: 320px;
        border: 1px solid #9C9C9C;
        background-color: #EAEAEA;
    }
    #login .container #login-row #login-column #login-box #login-form {
        padding: 20px;
    }
    #login .container #login-row #login-column #login-box #login-form #register-link {
        margin-top: -85px;
    }
</style>

<?php 
 if(isset($_GET['pesan'])){
  if($_GET['pesan']=="gagal"){
   echo "<div class='alert'>Username dan Password tidak sesuai !</div>";
  }
 }
 ?>

<body>
    <div id="login">
        <div class="container">
            <div id="login-row" class="row justify-content-center align-items-center">
                <div id="login-column" class="col-md-6">
                    <div id="login-box" class="col-md-12">
                        <form id="login-form" class="form" action="proses.php" method="post">
                            <h3 class="text-center text-info">Login</h3>
                            <div class="form-group">
                                <label for="username" class="text-info">Username:</label><br>
                                <input type="text" name="username" id="username" class="form-control">
                            </div>
                            <div class="form-group">
                                <label for="password" class="text-info">Password:</label><br>
                                <input type="text" name="password" id="password" class="form-control">
                            </div>
                            <div class="form-group">
                                <input type="submit" name="submit" class="btn btn-info btn-md" value="submit">
                            </div>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>

  • 5. Buatlah file proses login dan beri nama proses.php. Isi file tersebut dengan dengan script di bawah ini. file ini berfungsi untuk menerima data dari halaman login lalu memeriksa apakah data tersebut admin, ketua, atau anggota. Setiap level akan dikirimkan ke halaman yang berbeda.

<?php 
$host = "localhost"; 
$user = "root"; //nama user yang digunakan masuk k database
$password = ""; //password yagn digunakan masuk k database
$database = "latihan"; //nama database yang digunakkan
$koneksi = mysqli_connect($host, $user, $password, $database);

//cek koneksi ke database
//jika tidak menampilkan apa-apa artinya koneksi berhasil dilakukan
if (mysqli_connect_errno()){
echo "Koneksi gagal : " . mysqli_connect_error();
}

//mengaktifkan session
session_start();

//mengambil data yang dikirim dari form sebelumnya
$username = $_POST['username'];
$password = $_POST['password'];

//mengambil data user di tabel user
$user = mysqli_query($koneksi, "select * from user where username='$username' and password='$password'");
//menghitung jumlah data
$cek = mysqli_num_rows($user);

//jika username dan password lebih besar dari 0 maka user ditemukan
if($cek > 0){
$data = mysqli_fetch_assoc($user);
//jika user adalah admin
if($data['level'] == 'admin'){
//buat session username dan levelnya
$_SESSION['username'] = $username;
$_SESSION['level'] = 'admin';

//arahkan user admin ke halaman admin
header('location:admin.php');

//jika user adalah ketua
}elseif($data['level'] == 'ketua'){
//buat session username dan levelnya
$_SESSION['username'] = $username;
$_SESSION['level'] = 'ketua';

//arahkan user ketua ke halaman ketua
header('location:ketua.php');

//jika user adalah anggota
}elseif($data['level'] == 'anggota'){
//buat session username dan levelnya
$_SESSION['username'] = $username;
$_SESSION['level'] = 'anggota';

//arahkan user ketua ke halaman ketua
header('location:anggota.php');
}
}else{
//jika user tidak ditemukan
header("location:index.php?pesan=gagal");
}

?>


  • 6. Lalu buatlah halaman admin dan beri nama admin.php. Isi file tersebut dengan script di bawah ini

<!--link untuk mengaktifkan bootstrap-->
<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>


<?php 
    //memulai session
    session_start(); 

    //cek apakah user sudah login
    if($_SESSION['level']==""){
        header("location:index.php?pesan=gagal");
    }
?>

<div class="jumbotron">
    <center>
        <h1>Hallo <?php echo $_SESSION['username'];?></h1>
        <p>Anda Adalah <?php $_SESSION['level']; ?></p>
        <a href="logout.php" class="btn btn-large btn-danger">Logout</a>
    </center>
</div>

  • 7. Buatlah file ketua dan beri nama ketua.php. Isi file tersebut dengan script di bawah ini

<!--link untuk mengaktifkan bootstrap-->
<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>


<?php 
    //memulai session
    session_start(); 

    //cek apakah user sudah login
    if($_SESSION['level']==""){
        header("location:index.php?pesan=gagal");
    }
?>

<div class="jumbotron">
    <center>
        <h1>Hallo <?php echo $_SESSION['username'];?></h1>
        <p>Anda Adalah <?php $_SESSION['level']; ?></p>
        <a href="logout.php" class="btn btn-large btn-danger">Logout</a>
    </center>
</div>

  • 8. Buatlah file anggota dan beri nama anggota.php. Isi file tersebut dengan script seperti di bawah ini.

<!--link untuk mengaktifkan bootstrap-->
<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>


<?php 
    //memulai session
    session_start(); 

    //cek apakah user sudah login
    if($_SESSION['level']==""){
        header("location:index.php?pesan=gagal");
    }
?>

<div class="jumbotron">
    <center>
        <h1>Hallo <?php echo $_SESSION['username'];?></h1>
        <p>Anda Adalah <?php $_SESSION['level']; ?></p>
        <a href="logout.php" class="btn btn-large btn-danger">Logout</a>
    </center>
</div>

  • 9. Terakhir sebelum kita jalankan, buatlah halaman bari dengan nama logout.php. Kemudian isi file tersebut dengan script di bawah ini

<?php 
// mengaktifkan session php
session_start();
 
// menghapus semua session
session_destroy();
 
// mengalihkan halaman ke halaman login
header("location:index.php");
?>


  • 10. Coba jalankan project yang kita buat ketik localhost/multilogin di url browser. Jika berhasil, maka hasilnya akan tampak seperti gif di bawah ini.
Cuplikan Login



Bagaimana mudah bukan ?. Di dalam pembuatan aplikasi multi login, session akan sangat berguna nantinya untuk mengindentifikasi user yang berbeda dengan level yang sama. Contohnya adalah guru, Joko dan Budi adalah guru tapi mereka berdua memiliki mata pelajaran dan mengajar di kelas yang berbeda-beda, maka untuk mengidentifikasi hal tersebut kita harus menset iduser saat mereka login dan itu adalah tugas session.


Demikianlah tutorial cara mudah membuat multi login di Php. Semoga artikel ini dapat membantu teman-teman sekalian dalam mebuat latihan, tugas kuliah, atau project-project lainnya. Ada pertanyaa, saran, dan kritik, silahkan tinggalkan pesan di kolom komentar di bawah ini, setiap komentar kalian adalah motivasi bagi saya. Happy Coding !!!

6 comments:

  1. misalkan disisipkan ke aplikasi yg sudah jadi gimana ya cara ngaikantkanya,...mf pemula

    ReplyDelete
    Replies
    1. di setiap halaman gunakan session yang saya jelaskan di atas. jika session ada maka boleh mengakses halaman tersebut. Untuk multi user juga bisa, tinggal simpan session level user, jika sessionnya sesuai maka boleh akses. simple!

      Delete
  2. udah cb sesuai, tp knp muncul gagal trus ya

    ReplyDelete
  3. permisi mas, ijin bertnya, gmna biar url nya gabisa di akses, misal dari user ke admin, nah data sessionnya masi yang sama yang user, tidak berubah, gmna ya biar muncul pesan error, n gabisa di akses ?

    ReplyDelete
    Replies
    1. bisa menggunakan script ini di setiap halaman, tarok scriptnya di bagian atas. atur saja halaman ini untuk admin, ketua atau anggota

      <?php
      //memulai session
      session_start();

      //cek apakah user berhak mengakses halaman
      if($_SESSION['level']=="admin"){
      header("location:index.php?pesan=anda tidak memiliki akses");
      }
      ?>

      Delete

Jangan lupa kasih komentar ya!. Karena komentar kalian membantu kami menyediakan informasi yang lebih baik

Tidak boleh menyertakan link atau promosi produk saat berkomentar. Komentar tidak akan ditampilkan. Hubungi 081271449921(WA) untuk dapat menyertakan link dan promosi