Sep 11, 2016

MEMBUAT FORM LOGIN LEVEL USER DI PHP

Cara Membuat Form Login Multi User

Pada kesempatan yang baik ini, saya ingin memposting tentang cara  membuat login berdasarkan level user atau disebut juga multi user, yaitu memberikan batasan kepada user yang akan masuk ke sistem aplikasi yang kita buat berdasarkan hak akses user. Dari tutorial ini saya membuat dua level user yaitu administrator dan member. administrator mempunyai hak akses penuh atas aplikasi dan member mempunyai hak akses berdasarkan laman yang di tentukan oleh administrator.
gambar tampilan seperti di berikut :
Membuat Login Multi User
Sebelum kita masuk ke script siapkan dulu tabelnya, cara membuat tabel bisa anda baca tutorial sebelumnya "CARA MEMBUAT DATABASE DAN TABEL DI PHPMYADMIN" karena tutorial yang saya buat ini saling terkait. Ikuti Langkah - langkah di bawah ini :
  1. Buat database dengan nama pegawai dan tabel dengan nama users seperti tutorial sebelum ini. struktur tabelnya seperti gambar di bawah :Merancang Tabel PHPMYADMIN
atau copy kode berikut :

CREATE TABLE `users` (
  `id_user` int(11) NOT NULL,
  `nama` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
  `username` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
  `password` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
  `level_user` varchar(100) COLLATE utf8_unicode_ci NOT NULL)
ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

2. Setelah tabel siap, lalu buatlah folder didalam host, caranya cari folder xampp yaitu tempat diinstallnya xampp anda, kemudian buka folder htdocs setelah itu buatlah folder baru dengan nama login dan di dalam folder login buat dua folder dengan nama on-admin dan on-member. Lihat gambar dibawah :
Desain Form Multi User Di PHP
3. Membuat Koneksi Ke Database.  Dalam tutorial sebelumnya kita sudah membuat database dengan nama pegawairs dan tabel dengan nama users. Buka media anda untuk membuat file koneksi dengan php. disini saya menggunakan dreamweaver 2004. lalu ketikkan kode di bawa ini.

<?php
define('DBHOST', 'localhost');
define('DBUSER', 'root');
define('DBPASS', '');
define('DBNAME', 'pegawairs');

$dbconnect = new mysqli(DBHOST, DBUSER, DBPASS, DBNAME);

if ($dbconnect->connect_error) {
die('Database Not Connect. Error : ' . $dbconnect->connect_error);
        }
?>

selanjutnya simpan dalam folder login yang sudah dibuat tadi dengan nama config.php.
4. Lalu buatlah file php dengan nama check-login.php,  file ini bertujuan untuk mengecek level user. Jika login sebagai administrator maka akan dibawa ke halaman admin dan jika login sebagai member maka akan di bawa ke halaman member. Ketikkan kode berikut :

<?php
session_start();
require 'config.php';
if ( isset($_POST['username']) && isset($_POST['password']) ) {    
    $sql_check = "SELECT nama, level_user,  id_user  FROM users 
                  WHERE 
                       username=? 
                       AND 
                       password=? 
                  LIMIT 1";
    $check_log = $dbconnect->prepare($sql_check);
    $check_log->bind_param('ss', $username, $password);


    $username = $_POST['username'];
    $password = md5( $_POST['password'] );
    $check_log->execute();
    $check_log->store_result(); /**  *Jika di temukan  */     if ( $check_log->num_rows == 1 ) {         $check_log->bind_result($nama, $level_user, $id_user);         while ( $check_log->fetch() ) {             $_SESSION['user_login'] = $level_user;             $_SESSION['sess_id']    = $id_user;             $_SESSION['nama']       = $nama;                      }         $check_log->close();         header('location:on-'.$level_user);         exit(); /**  * jika tidak ditemukan, maka dialihkan kembali ke login  */     } else {         header('location: login.php?error='.base64_encode('Username dan Password Salah!!!'));         exit();     } } else {     header('location:login.php');     exit(); }
simpan file tersebut di folder login dengan nama check-login.php


5. Membuat file index.php
Untuk membuat file index.php ketikkan kode  dibawah :

<?php
session_start();
if ( isset($_SESSION['user_login']) && $_SESSION['user_login'] != '' ) {
    $halaman = $_SESSION['user_login'];


    header('location:on-'. $halaman);
    exit();
} else {
    header('location:login.php');
    exit();
}
penjelasan dari kode di atas adalah jika user login sebagai admin maka akan masuk kehalaman administrator dan jika login sebagai member maka masuk ke halaman member dengan variabel $halaman, jika salah maka akan masuk ke halaman login lagi. simpan file tersebut ke folder login dengan nama file index.php.



6.Membuat Form Login. ketikkan kode ini dan letakkan di bawah body
    
<div class="col-md-4 col-md-offset-4 form-login">
    <?php
    /* menampilkan pesan error jika username atau passwor yg dimasukkan salah */
    if (isset($_GET['error'])) : ?>
        <div class="alert alert-warning alert-dismissible" role="alert">
          <button type="button" class="close" data-dismiss="alert" aria-label="Close">
            <span aria-hidden="true">&times;</span>
          </button>
          <strong>Warning!</strong> <?=base64_decode($_GET['error']);?>
        </div>
    <?php endif;?>
        <div class="outter-form-login">
        <div class="logo-login">
        <em class="glyphicon glyphicon-user"></em>
        </div>
            <form action="check-login.php" class="inner-login" method="post">
            <h3 class="text-center title-login">LOGIN USERS</h3>
                <div class="form-group">
                    <input type="text" class="form-control" name="username" placeholder="Username">
                </div>
                <div class="form-group">
                    <input type="password" class="form-control" name="password" placeholder="Password">
                </div>
                <input type="submit" class="btn btn-block btn-custom-green" value="LOGIN" />
                <div class="text-center forget">
                    <p>Lupa Paswword ?</p>
                </div>
            </form>
        </div>
    </div>
simpan file ini dengan nama login.php didalam folder login

7.Membuat file logout.php
Masukkan kode berikut :

<?php
session_start();
session_destroy();
header('location:login.php');
simpan file tersebut dengan nama logout.php difolder login. penjelasan, jika login bukan sebagai admin atau member maka akan di alihkan kembali kehalaman login.
8. Membuat Halaman Administrator Buatlah halaman administrator dengan mengetikkan kode seperti berikut ini :

<?php
session_start();
/**
 * Jika Tidak login atau sudah login tapi bukan sebagai admin
 * maka akan dibawa kembali kehalaman login atau menuju halaman yang seharusnya.
 */

if ( !isset($_SESSION['user_login']) || 
    ( isset($_SESSION['user_login']) && $_SESSION['user_login'] != 'admin' ) ) {
 header('location:./../login.php');
 exit();
}
?>
<h2>Hallo Admin <?=$_SESSION['nama'];?> Apakabar ?</h2>
<a href="./../logout.php">Logout</a>
simpan file tersebut dengan nama index.php dan letakkan dalam folder on-admin

9. Membuat Halaman Member. Dan buatlah halaman member dengan mengetikkan kode seperti di bawah ini :

<?php
session_start();
/**
 * Jika Tidak login atau sudah login tapi bukan sebagai admin
 * maka akan dibawa kembali kehalaman login atau menuju halaman yang seharusnya.
 */

if ( !isset($_SESSION['user_login']) || <
    ( isset($_SESSION['user_login']) && $_SESSION['user_login'] != 'member' ) ) {
 header('location:./../login.php');
 exit();
}
?>

<h2>Hallo Member <?=$_SESSION['nama'];?> Apakabar ?</h2>
<a href="./../logout.php">Logout</a>
simpan file ini dengan nama index.php di dalam folder on-member. 10. Jalankan browser anda Ketikkan localhost/login/index.php. maka akan tampil seperti digambar dibawah
Memberi batasan Akses User di PHP

Jika memasukkan username dan password salah maka akan muncul pesan error seperti gambar berikut:
Session Login Di PHP
dan jika anda login sebagai admin lalu berhasil maka anda akan di alihkan ke halaman administrator dengan tampilan seperti gambar ini :
Merancang Hak Aksen Login Di PHP

sekian tutorial ini saya buat, semoga bermanfaat bagi pengunjung phpchanel. untuk mendapatkan script lengkapnya silahkan berlangganan via email, dengan cara masukkan email di panel BERLANGGANAN kemudian tekan submit atau kirimkan email kesaya. Dan script akan saya kirim via email anda. 

salam.....
terimakasih
Share:

17 comments:

  1. tlng share templatenya gan sudah saya creat emailnya untuk langganan

    ReplyDelete
    Replies
    1. Gan tampilan form login sya kok gk sprti tutorial ada warnaya dan tampilan diatas menarik, caranya gimna?

      Delete
  2. Izin Sedot ya Gan...

    ReplyDelete
  3. Saya sudah ada file indexnya yang saya fungsikan sebagai home, jadi perlu buat file index lagi atau gk ya?
    Mohon pencerahan

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete

Hosting Unlimited Indonesia

MESSAGE

Name

Email *

Message *