Cara Membuat Daftar Login Multi User 3 Hak Akses Php MySQL

Tutorial Cara Membuat Login Multi User Dengan Hak Ases Berbeda antara login admin dan login user di php dan database mysql

oke setelah kemarin saya membuat sebuah tutorial membuat login dan logout dengan php dan mysql maka sekarang saya akan membahas tentang membuat login lagi, namun pada tutorial membuat login multi user ini ada yang berbeda dengan tutorial membuat form login yang kemarin, di tutorial sebelumnya saya hanya membuat login sederhana dimana data login sudah kita simpan dulu di dalam database, namun di tutorial ini kita akan membuat halaman login, halaman daftar atau register, halaman admin atau halaman administrator, halaman user, halaman guru.

membuat-login-multi-user-php-mysql

yang akan kita buat di tutorial ini

  1. halaman dafar atau register
  2. halaman login dengan tiga level admin, guru, dan user
  3. halaman admin setelah login
  4. halaman guru setelah login
  5. halaman user setelah login
  6. halaman setting untuk mengatur user
  7. halaman logout

sebelum saya bahas semuanya tentang tutorial membuat login multi user dengan level berbeda ini  ada baiknya anda siapkan dulu kopi agar kepalanya ngak pusing, kenapa? karena tutorial ini sangat panjang dan lengkap, semua tentang login akan saya bahas di tutorial ini.

Bagi pemula sebaiknya belejar HTML dulu disini tutorial html dasar

1.halaman daftar atau register

halaman daftar ini berfungsi untuk medaftar, dimana user bisa mendaftar sebagai guru ataupun sebagai user biasa, nah jika kamu ingin membuat login dengan level berbeda nah ikuti tutorial ini sampai selesai.

membuat-daftar-register-php-mysql

2. halaman login

halaman login ini adalah halaman untuk login ke web atau sistem, dimana di halaman login ini ada tiga level login, ada login sebagai lever admin, login sebagai level guru, login sebagai user.

3. halaman admin login setelah login

halaman admin ini adalah halaman yang hanya bisa diakses oleh admin atau administrator saja, nah disini kita memakai hak akses berbeda, dimana halaman admin tidak bisa di akses oleh guru atau user.

halaman khusus admin

perhatikan dari menu diatas, menu diatas adalah menu untuk admin, jika untuk guru menunya akan berbeda lagi.

4. halaman guru setelah login

halaman ini adalah halaman guru setelah melakukan login lihat seperti gambar berikut ini

halaman-khusus-login-guru

nah gambar diatas merupakan halaman guru setelah login, bedanya dengan halaman khusus admin hanya di menunya saja, jika di halaman admin bisa mengakses seluruh menu, namun jika halaman guru hanya bisa mengakses input nilai dan laporan absensi.

5. halaman user setelah login

halaman ini berbeda lagi dengan halaman guru, halaman user ini hanya mengakses laporan nilai dan laporan absensi.

halaman-login-khusu-user

nah dari gambar-gambar diatas sudah cukup jelas bahwa tutorial ini akan membuat login multi user, dimana hak aksesnya berbeda, akses user dan login semuanya berbeda-beda.

6. halaman setting untuk mengatur user

halaman setting ini hanya bisa diakses oleh admin saja, dimana halaman setting untuk mengatur apakah user kita kasih login atau tidak, jadi admin bisa mengatur semuanya, bisa menghapus, bisa meng-edit, bisa juga menonaktifkan login user.

berikut kita akan masuk ke script php untuk membuat login multi user multi level tiga hak akses

1.membuat database login di phpmyadmin

buat sebuah database dengan nama login di phpmyadmin anda kemudian dump sql berikut

-- phpMyAdmin SQL Dump
-- version 3.3.9
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Apr 11, 2017 at 02:08 PM
-- Server version: 5.5.8
-- PHP Version: 5.3.5

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


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

--
-- Database: `login`
--

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

--
-- Table structure for table `user`
--

CREATE TABLE IF NOT EXISTS `user` (
  `username` varchar(20) NOT NULL,
  `password` varchar(50) NOT NULL,
  `nama_lengkap` varchar(25) NOT NULL,
  `email` varchar(25) NOT NULL,
  `telp_hp` varchar(15) NOT NULL,
  `level` varchar(15) NOT NULL,
  `status` varchar(1) NOT NULL,
  PRIMARY KEY (`username`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `user`
--

INSERT INTO `user` (`username`, `password`, `nama_lengkap`, `email`, `telp_hp`, `level`, `status`) VALUES
('admin', '202cb962ac59075b964b07152d234b70', 'Administrator', 'admin@yahoo.com', '081919511321', 'admin', 'Y'),
('adies', '202cb962ac59075b964b07152d234b70', 'abdul adies', 'adies@yahoo.com', '082364927349', 'user', 'Y'),
('guru', 'c4ca4238a0b923820dcc509a6f75849b', 'coba guru', 'gurucoba@yahoo.com', '081245454545', 'guru', 'Y'),
('guru1', '202cb962ac59075b964b07152d234b70', 'user', 'gurucoba@yahoo.com', '0823232323', 'user', 'Y'),
('coba', 'c4ca4238a0b923820dcc509a6f75849b', 'phpdanmysql.com', 'coba@yahoo.com', '082364927349', 'guru', 'Y');

setelah berhasil di dump maka kamu sudah mendapat sebuah table user. buat folder baru di htdocs dengan nama login

2. membuat koneksi login

selanjutnya setelah kita buat database kita buat koneksi ke databasenya.

<?php
//variabel database
$nama_host="localhost";
$user_db="root";
$password_db="";
$nama_db="login";

//koneksi database
$koneksi=mysql_connect($nama_host,$user_db,$password_db);

//bila terkoneksi
if($koneksi){
//pilih database
mysql_select_db($nama_db);
}else{
echo "Database tidak terkoneksi";
}

?>

simpan script diatas di dalam folder login dengan nama koneksi.php

jika ingin tau cara membuat koneksi ke database bisa lihat disini koneksi php ke database

3. membuat halaman login

buat file index.php kemudian simpan script dibawah ini didalamnya.

<?php
// https://phpdanmysql.com - memulai session
session_start();
include "koneksi.php";
if(isset($_POST['login'])){
$username = $_POST['username'];
$password = md5($_POST['password']);
if(empty($username)){
echo "<script>alert('Username belum diisi!');javascript:history.go(-1);</script>";
}
elseif(empty($password)){
echo "<script>alert('Password belum diisi!');javascript:history.go(-1);</script>";
} else {
// query untuk mendapatkan record dari username
$query = "SELECT * FROM user WHERE username = '$username'";
$hasil = mysql_query($query);
$data = mysql_fetch_array($hasil);
 
// cek kesesuaian password
if ($password == $data['password'])
{
			echo "<script> document.location.href='adminpanel/home.php'; </script>";

    // menyimpan username dan level ke dalam session
    $_SESSION['level'] = $data['level'];
    $_SESSION['username'] = $data['username'];
	$_SESSION['nama_lengkap'] = $data['nama_lengkap'];
	$_SESSION['email'] = $data['email'];
	$_SESSION['status'] = $data['status'];
}
echo "<script>alert('Username atau password salah, ulangi kembali!');javascript:history.go(-1);</script>";
}
}
?>
<HTML>
<HEAD><TITLE>PhpdanMySQL.COM</TITLE>
</head>
<body leftmargin=0 topmargin=0 marginheight="0" marginwidth="0" bgcolor="#CCCCCC">
             <tr>
                  <h2 align="center">Login User </h2>
                <p align="center" class="style2"><img src="belajar php dan mysql1.png" width="300" height="80"></p>
                <table width="403" border="0" align="center" bgcolor="#CCFFCC">
                  <tr><p align="center" class="style9"><b>Silakan Login Untuk Masuk Ke Sistem</br> Jika Belum Memiliki Username dan Password </br>Silakan Daftar Terlebih Dahulu Dengan Cara Klik Daftar!</p>\
				  <td width="120"><form id="form1" name="form1" method="post" action="">
		<fieldset>
        <legend style="background-color:#FFCC33" align="center"><strong>Masukan Username & Password</strong></legend>
                           <table width="244" height="87" border="0" align="center">
                              <tr>
                                <td width="92"><strong>Username</strong></td>
                                <td width="210"><label>
                                  <input name="username" type="text" id="username" size="0" style="background:#FFFFFF" />
                                </label></td>
                              </tr>
                              <tr>
                                <td><strong>Password</strong></td>
                                <td><label>
                                  <input name="password" type="password" id="password" size="0" style="background:#FFFFFF" />
                                </label></td>
                              </tr>
						   <tr>
                           <td><strong>Level</strong></td>
                           <td><label> <br>
                           <select name="level">
						   <option value="admin">Admin</option>
						   <option value="guru">Guru</option>
						   <option value="user">User</option>
						   </select>
						   <br>
                           <br>
                           </label></td>
						   </tr>
						   <tr>
                                <td>&nbsp;</td>
                                <td><label>
                                  <input name="login" type="submit" id="login" style="background-color:#FFCC33" value="Login"/>
								  <a href="daftar_usr.php" class="font">Daftar!</a> 
								</label></td>
                                
                              </tr>
                        </table>
                    </form></td>
                  </tr>
                </table>
                <p align="center">
                <p align="center"> </p></td>
            </tr>
          </table></td>
          </tr>
      </table>
</body>
</html>

index.php ini adalah halaman untuk melakukan login multi user dengan level hak akses berbeda.

4. Membuat Halaman Daftar/Register Login

Script login Multi User ini saya lengkapi dengan halaman daftar login, atau halaman untuk register, dimana halaman daftar ini fungsi untuk mendaftar data login kita ke web atau sistem yang kita buat.

buat file daftar_usr.php kemudian salin script daftar user dibawah ini kedalamnya

<?php
//panggil koneksi - phpdanmysql.com
include "koneksi.php";
//ketika klik daftar - phpdanmysql.com
if(isset($_POST['daftar'])){
$username=$_POST['username'];
$password=md5($_POST['password']);
$password2=md5($_POST['password2']);
$nama_lengkap=$_POST['nama_lengkap'];
$email_usr=$_POST['email_usr'];
$telp_hp=$_POST['telp_hp'];
$level=$_POST['level'];
if(empty($username)||empty($password)||empty($password2)||empty($nama_lengkap)||empty($email_usr)||empty($telp_hp))
{
echo "<script type='text/javascript'>
	onload =function(){
	alert('Data belum lengkap, silahkan periksa kembali isian form!');
	}
	</script>";
}elseif($password != $password2)
{
echo "<script type='text/javascript'>
	onload =function(){
	alert('Password Pertama dan kedua tidak sama!');
	}
	</script>";
}else{
$a="insert into user(username,password,nama_lengkap,email,telp_hp,level,status)values('$username','$password','$nama_lengkap','$email_usr','$telp_hp','$level','Y')";
$b=mysql_query($a);
if($b){
//jika berhasil akan keluar pesan dibawah ini - phpdanmysql.com
echo "<script type='text/javascript'>
	onload =function(){
	alert('Pendaftaran Berhasil, Silahkan login untuk melihat Laporan Nilia Siswa dan Laporan Abensi..!');
	}
	</script>";
}else{
echo "<script type='text/javascript'>
	onload =function(){
	alert('Data gagal disimpan!');
	}
	</script>";
}
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>
<HEAD><TITLE>phpdanmysql.com</TITLE>
<META content=True name=MSSmartTagsPreventParsing>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
</head>
<body leftmargin=0 topmargin=0 marginheight="0" marginwidth="0" bgcolor="#ffffff">

  <tr>
	<td><table width="780" border="0" cellspacing="0" cellpadding="0">
      </table>
      
      <table width="600" border="0" cellspacing="0" cellpadding="1" align="center" bgcolor="#0099FF">
        <tr>
          <td width="562" valign="top"><table width="508" border="0" align="center" bgcolor="#9999FF">
            <tr>
              <td width="518"><h2 align="center">&nbsp;</h2>
                  <h2 align="center" class="style2">Pendaftaran User </h2>
                <p align="center" class="style2"><img src="belajar php dan mysql1.PNG"></p>
                <form name="form1" method="post" action="">
                    <table width="349" border="0" align="center" cellpadding="1" cellspacing="0">
                      <tr>
                        <td width="103">Username</td>
                        <td width="210"><label>
                          <input name="username" type="text" id="username">
                        </label></td>
                      </tr>
                      <tr>
                        <td>Password</td>
                        <td><label>
                          <input name="password" type="password" id="password">
                        </label></td>
                      </tr>
                      <tr>
                        <td>Ulangi Password </td>
                        <td><label>
                          <input name="password2" type="password" id="password2">
                        </label></td>
                      </tr>
                      <tr>
                        <td colspan="2"><hr></td>
                      </tr>
                      <tr>
                        <td>Nama Lengkap </td>
                        <td><label>
                          <input name="nama_lengkap" type="text" id="nama_lengkap" size="35">
                        </label></td>
                      </tr>
                      <tr>
                        <td>Email</td>
                        <td><label>
                          <input name="email_usr" type="text" id="email" size="35">
                        </label></td>
                      </tr>
                      <tr>
                        <td>Telpon/HP</td>
                        <td><label>
                          <input name="telp_hp" type="text" id="telp_hp">
                        </label></td>
                      </tr>
					  <tr>
                           <td>Level</td>
                           <td><label>
						   <select name="level">
						   <option value="guru">Guru</option>
						   <option value="user">User</option>
						   </select>
						   </label></td>
						</tr>
                      <tr>
                        <td>&nbsp;</td>
                        <td><label>
                          <input name="daftar" type="submit" id="daftar" value="Daftar">
                          <input type="reset" name="Submit2" value="Batal">
                          <a href="index.php">Login!!</a></label></td>
                      </tr>
					  <td>&nbsp;</td>
                    </table>
                </form>
                
            </tr>
          </table></td>
</body>
</html>

setelah selesai membuat form daftar login tersebut kita sudah bisa mendaftarkan data login kita ke sistem, namun belum bisa melakukan login karena kita belum membuat halaman admin, nah untuk itu kita akan membuat halaman dashboard admin.

5. Membuat halaman admin atau administrator

buka folder login di htdocs anda, folder yang tadi sudah kita buat diatas.

kemudian buat folder baru di dalama folder login dengan nama adminpanel

folder adminpanel ini kita gunakan untuk menyimpan script halaman admin, halaman guru, halaman user.

6. buat file koneksi admin

buat file koneksi.php di dalam folder adminpanel, biar tidak capek salin saja file koneksi.php yang ada di folder login ke folder adminpanel.

7. Membuat Halaman Home Admin Panel

dalam membuat admin panel ini saya file home.php sebagai tujuan jika berhasil melakukan login, setelah login dihalaman login jika berhasil maka akan diarahkan ke halaman home di admin panel.

buat file home.php simpan script admin panel dibawah ini kedalamnya

<?php
// https://phpdanmysql.com
session_start();
include "koneksi.php";
//session login di php
if (isset($_SESSION['level']) && isset($_SESSION['username']) && isset($_SESSION['nama_lengkap']))
{
   if (($_SESSION['level'] == "admin")||($_SESSION['level'] == "guru")|($_SESSION['level'] == "user"))
   {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>https://phpdanmysql.com</title>
</head>

<body leftmargin=0 topmargin=0 marginheight="0" marginwidth="0" bgcolor="#ffffff">
<table border="0" cellspacing="0" cellpadding="0" width="100%" height="83%">
  <tr>
	<td width="50%" background="../gambar/bg.gif"><img src="../gambar/px1.gif" width="1" height="1" alt="" border="0"></td>
	<td valign="bottom" background="../gambar/bg_left.gif"><img src="../gambar/bg_left.gif" alt="" width="17" height="16" border="0"></td>
	<td bgcolor="#FFFFFF"><table width="780" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td bgcolor="#FFFFFF"><?php include "header.php"; ?></td>
        </tr>
        <tr>
          <td background="../gambar/fon02.gif" height="34"><div align="center"></div></td>
        </tr>
      </table>
      <p align="center" class="px">
        <?php include "menu.php"; ?>
      <table width="671" border="0" align="center" cellpadding="1" cellspacing="0">
        <tr>
          <td width="549" bgcolor="#FFFFFF"><h2 align="center">Selamat Datang <?php echo $_SESSION['nama_lengkap']; ?></h2>
            <p align="center">Silahkan gunakan menu di atas untuk mengatur sistem. Bila sudah selesai mengelola website, jangan lupa untuk mengklik LogOut.</p>
          <p align="center">Terima Kasih.</p>
          <p align="center">Developer</p>
          <p align="center"><strong>Abdul Adis S. Inf</strong></p>
		  <p align="center"><strong>PhpdanMySQL.Com</strong></p>
          <p align="center">&nbsp;</p></td>
	<p>&nbsp;</p>
        <p>&nbsp;</p>
        </tr>
      </table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
	  <div class="px" align="center"><img src="../gambar/bot01.jpg" width="780" height="9" alt="" border="0"></div>
<table border="0" cellspacing="0" cellpadding="0" width="780" align="center">
<tr>
	<td><p align="center">
	  <?php include "footer.php"; ?>
	</p></td>
	<p>
	<td height="50"> 
        <p class="bot">&nbsp;</p>
	</td>
</tr>
</table>
	</td>
	<td valign="bottom" background="../gambar/bg_right.gif"><img src="../gambar/bg_right.gif" alt="" width="17" height="16" border="0"></td>
	<td width="50%" background="../gambar/bg.gif"><img src="../gambar/px1.gif" width="1" height="1" alt="" border="0"></td>
</tr>
</table>

</body>
</html>
<?php
}
   else
   {
       // jika levelnya bukan admin, tampilkan pesan
       echo "<script>alert('Maaf.. Anda Tidak Berhak Mengakses Halaman Ini!');javascript:history.go(-1);</script>";
   }
}
else
{
   echo "<script>alert('Silakan Login!!');javascript:history.go(-1);</script>";
}
?>

file home.php ini akan digunakan oleh semua yang login, namun nanti tampilan halamanya akan berbada antara login admin dan login user.

setelah selesai membuat halaman admin panel, selanjutnya kita membuat menu.

8. Membuat menu admin dan menu user

di tutorial login multi user ini saya membuat menu antara admin dan user berbeda, jadi ada menu hanya khusus admin, ada menu untuk user.

buat lagi file php bernama menu.php kemudian simpan script dibawah ini kedalamnya, simpan di dalam folder adminpanel ya.

<?php
// https://phpdanmysql.com
session_start();
 
if ($_SESSION['level'] == "admin"){
include "menu_admin.php";
}
else if ($_SESSION['level'] == "guru")
{
echo "
<table width='432' border='0' align='center' cellpadding='1' cellspacing='0'>
  <tr>
    <td><div align='center'><a href='home.php'><img src='../gambar/Home.png' width='48' height='48' border='0' /></a></div></td>
  <td><div align='center'><a href='input_nilai.php'><img src='../gambar/Notepad.png' width='48' height='48' border='0' /></a></div></td>
  <td><div align='center'><a href='laporan_absensi.php'><img src='../gambar/Books.png' width='48' height='48' border='0' /></a></div></td>
    <td><div align='center'><a href='logout_usr.php'><img src='../gambar/Minus.png' width='48' height='48' border='0' /></a></div></td>
  </tr>
  <tr>
    <td><div align='center'><span class='px style1'><a href='home.php' STYLE='TEXT-DECORATION:NONE'>Home</a></span></div></td>
    <td><div align='center'><a href='input_nilai.php' STYLE='TEXT-DECORATION:NONE'>Input Nilai</a></div></td>
    <td><div align='center'><a href='laporan_absensi.php' STYLE='TEXT-DECORATION:NONE'>Laporan Absensi</a></div></td>
    <td><div align='center'><a href='logout.php' STYLE='TEXT-DECORATION:NONE'>LogOut</a></div></td>
  </tr>
  </table>
<p>";
}
else if ($_SESSION['level'] == "user")
{
echo "
<table width='432' border='0' align='center' cellpadding='1' cellspacing='0'>
  <tr>
    <td><div align='center'><a href='home.php'><img src='../gambar/Home.png' width='48' height='48' border='0' /></a></div></td>
  <td><div align='center'><a href='nilai_siswa_user.php'><img src='../gambar/Notepad.png' width='48' height='48' border='0' /></a></div></td>
  <td><div align='center'><a href='laporan_absensi.php'><img src='../gambar/Books.png' width='48' height='48' border='0' /></a></div></td>
    <td><div align='center'><a href='logout.php'><img src='../gambar/Minus.png' width='48' height='48' border='0' /></a></div></td>
  </tr>
  <tr>
    <td><div align='center'><span class='px style1'><a href='home.php' STYLE='TEXT-DECORATION:NONE'>Home</a></span></div></td>
    <td><div align='center'><a href='nilai_siswa_user.php' STYLE='TEXT-DECORATION:NONE'>Laporan Nilai</a></div></td>
    <td><div align='center'><a href='laporan_absensi.php' STYLE='TEXT-DECORATION:NONE'>Laporan Absensi</a></div></td>
    <td><div align='center'><a href='logout.php' STYLE='TEXT-DECORATION:NONE'>LogOut</a></div></td>
  </tr>
  </table>
<p>";
}
?>

lilah script  if ($_SESSION['level'] == "admin"){ include "menu_admin.php"; artinya kira-kira begini, jika session loginya admin maka akan dipanggil menu untuk admin,  else if ($_SESSION['level'] == "guru") namun jika session nya guru akan memakai menu ini, begitu juga jika session nya user.

buat file menu_admin.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>https://phpdanmysql.com</title>
<style type="text/css">
<html>

#menu{
position:relative;
width:100%;
height:40px;
background:#FF0000;
background-color:#00FF00;
border:1px solid #000000;
}

#menu ul{
padding:0;
margin:0;
list-style:none;
}

#menu ul li{
float : left;
position:relative;
}

#menu ul li a{
float:left;
color:#000000;
padding:6px;
border-right:0px solid #ffcccc;
text-decoration:none;
display:block;
}

#menu ul li a:hover{
background-color:#CCFF00;
color:#990000;
}

#menu ul li ul {
display:none;
}

#menu ul li:hover ul{
display:block;
position:absolute;
top:30px;
left:0;
}

#menu ul li:hover ul li a{
display:block;
background:#99FF00;
color:#000000;
width:100px;
}

#menu ul li:hover ul li a:hover{
background:#FFCC33;
color:#003366;
}
</style>
</head>
<body>

  <div id="menu">
    <ul>
      <li><a href="home.php">Home</a></li>
      <li><a href="berita.php">Berita</a>
	<ul>
          <li><a href="kategori.php">Kategori Berita</a></li>
	</ul>
      </li>
      <li><a href="info_sekolah.php">Profil</a>
	<ul>
	<li><a href="kategori_info.php">Kategori Profil</a></li>
	</ul>	
	</li>
      <li><a href="guru.php">Guru</a></li>
      <li><a href="siswa.php">Siswa</a></li>
      <li><a href="galeri.php" >Galeri</a>
	<ul>
	<li><a href="/sma/adminpanel/admin/index.php">Tambah foto</a></li>
	</ul>	
	</li>
      <li><a href="buku_tamu.php">Tamu</a>
      <li><a href="user.php">User</a></li>
      <li><a href="absensi.php">Absensi</a></li>
      <li><a href="input_nilai.php">Nilai</a>
      <ul>
        <li><a href="mapel.php">Mapel</a></li>
      </ul>	
      </li>
      <li><a href="logout.php">logout</a></li>
      </ul>
  </div>
</div>
</body>
</html>

sekarang bisa dicoba login dengan mengakses localhost/login

kemudian login dengan username: admin password: 123

jika ingin login sebagai user bisa pakai username: adies password: 123

jika ingin login sebagai guru bisa pakai username: guru1 password: 123

9. Membuat Halaman Edit User

Sebelum kita membuat logout sekarang kita buat dulu halaman untuk setting user, baik itu untuk kompirmasi user yang mendaftar, atau untuk edit username, edit nama atau merubah password login user. atau edit status user aktif atau tidak aktif.

buat file user.php

<?php
//phpdanmysql.com - Membuat halaman kompirmasi pendaftar login
session_start();

include "koneksi.php";
if (isset($_SESSION['level']) && isset($_SESSION['username']))
{
   if ($_SESSION['level'] == "admin")
   {

if(isset($_POST['simpan'])){
$username=$_POST['username'];
$password=md5($_POST['password']);
$password2=md5($_POST['password2']);
$nama_lengkap=$_POST['nama_lengkap'];
$email=$_POST['email'];
$telp_hp=$_POST['telp_hp'];
$level=$_POST['level'];
$status=$_POST['status'];
if(empty($username)||empty($password)||empty($password2)||empty($nama_lengkap)||empty($email)||empty($telp_hp)||empty($level)||empty($status))
{
echo "<script type='text/javascript'>
	onload =function(){
	alert('Data belum lengkap, silahkan periksa kembali isian form!');
	}
	</script>";
}else{
$a="insert into user(username,password,nama_lengkap,email,telp_hp,level,status)values('$username','$password','$nama_lengkap','$email','$telp_hp','$level','$status')";
$b=mysql_query($a);
if($b){
echo "<script type='text/javascript'>
	onload =function(){
	alert('Data berhasil disimpan!');
	}
	</script>";
}else{
echo "<script type='text/javascript'>
	onload =function(){
	alert('Data gagal disimpan!');
	}
	</script>";
}
}
}

//Proses edit
//tampilkan data yang diedit
$username=$_GET['username'];
$sql="select * from user where username='$username'";
$query=mysql_query($sql);
$baris=mysql_fetch_array($query);

if(isset($_POST['Edit'])){
$password=md5($_POST['password']);
$nama_lengkap=$_POST['nama_lengkap'];
$email=$_POST['email'];
$telp_hp=$_POST['telp_hp'];
$level=$_POST['level'];
$status=$_POST['status'];
if(strlen($password)>0){
mysql_query("update user set password='$password' where username='$username'");
}

$a="Update user set nama_lengkap='$nama_lengkap',email='$email',telp_hp='$telp_hp',level='$level',status='$status' where username='$username'";
$b=mysql_query($a);
if($b){
header("location:user.php");
}else{
echo "<script type='text/javascript'>
	onload =function(){
	alert('User gagal diubah!');
	}
	</script>";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Administrator Area - Kelola Kategori Berita</title>
</head>

<body leftmargin=0 topmargin=0 marginheight="0" marginwidth="0" bgcolor="#ffffff">
<table border="0" cellspacing="0" cellpadding="0" width="100%" height="83%">
  <tr>
	<td width="50%" background="../gambar/bg.gif"><img src="../gambar/px1.gif" width="1" height="1" alt="" border="0"></td>
	<td valign="bottom" background="../gambar/bg_left.gif"><img src="../gambar/bg_left.gif" alt="" width="17" height="16" border="0"></td>
	<td><table width="780" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td><?php include "header.php"; ?></td>
        </tr>
        <tr>
          <td background="../gambar/fon02.gif" height="34"><div align="center"></div></td>
        </tr>
      </table>
      <p align="center" class="px">
        <?php include "menu.php"; ?>
      <table width="644" border="0" align="center" cellpadding="1" cellspacing="0">
        <tr>
          <td width="549"><table width="598" border="0" align="center">
            <tr>
              <td width="518"><div align="center">
                <h2><strong>KELOLA USER 
                </strong></h2>
              </div>
                <form action="" method="post" name="form1" id="form1">
                    <table width="553" border="0" align="center" cellpadding="1" cellspacing="0">
                      <tr>
                        <td width="149">Username</td>
                        <td width="400"><label><?php if(!$_GET['username']){
                          echo "<input name='username' type='text' id='username' size='20'>";
						  }else{
						  echo "<b>".$baris['username']."</b>";
						  }
						  ?>
                        </label></td>
                      </tr>
                      <tr>
                        <td>Password</td>
                        <td><label>
                          <input name="password" type="password" id="password" size="25" />
                        </label>
						<?php
						if($_GET['username']){
						echo "<br><font color='red'>Apabila password tidak diubah, silahkan dikosongkan saja</font>";
						}
						?>						</td>
                      </tr>
						
                      <tr>
                        <td>Nama Lengkap </td>
                        <td><label>
                          <input name="nama_lengkap" type="text" id="nama_lengkap" size="35"  value="<?php echo $baris['nama_lengkap'];?>"/>
                        </label></td>
                      </tr>
                      <tr>
                        <td>Email</td>
                        <td><label>
                          <input name="email" type="text" id="email" size="35"  value="<?php echo $baris['email'];?>"/>
                        </label></td>
                      </tr>
                      <tr>
                        <td>Telpon/HP</td>
                        <td><label>
                          <input name="telp_hp" type="text" id="telp_hp" size="15"  value="<?php echo $baris['telp_hp'];?>"/>
                        </label></td>
                      </tr>
                      <tr>
                        <td>Level User </td>
                        <td><label>
                          <select name="level" id="level">
                            <option value="admin" <?php if($baris['level']=="admin"){ echo "selected";}?>>Administrator</option>
			    <option value="guru" <?php if($baris['level']=="guru"){ echo "selected";}?>>Guru</option>
                            <option value="user" <?php if($baris['level']=="user"){ echo "selected";}?>>User</option>
                          </select>
                        </label></td>
                      </tr>
                      <tr>
                        <td>Status User </td>
                        <td><p>
                          <label>
                            <input name="status" type="radio" value="Y"  <?php if($baris['status']=="Y"){ echo "checked";}?> />
                            Aktif</label>
                          <br />
                          <label>
                            <input type="radio" name="status" value="T" <?php if($baris['status']=="T"){ echo "checked";}?> />
                            Tidak Aktif</label>
                          <br />
                        </p></td>
                      </tr>
                      <tr>
                        <td>&nbsp;</td>
                      <td><?php if(!$_GET['username']){
		//bila mau tambah data yang tampil tombol simpan
		echo "<input name=\"simpan\" type=\"submit\" id=\"simpan\" value=\"Simpan\" />&nbsp;";
		echo "<input name=\"batal\" type=\"reset\" id=\"batal\" value=\"Batal\" />";
        } else {
		//Apabila mau edit yg tampil tombol edit dan hapus
		echo "<input name=\"Edit\" type=\"submit\" id=\"edit\" value=\"Edit\" />";
		} ?>                      </tr>
                    </table>
                </form>
                <p align="center"> </p>
                <p align="center"> </p></td>
            </tr>
          </table>
          <h3 align="center">&nbsp;</h3>
            <h3 align="center">Tabel User  </h3>
            <table width="690" border="1" align="center" cellspacing="0">
              <tr bgcolor="#FFFF99">
                <td width="50"><div align="center"><strong>No</strong></div></td>
                <td width="100"><div align="center"><strong>Username</strong></div></td>
				<td width="150"><div align="center"><strong>Nama Lengkap</strong></div></td>
				<td width="150"><div align="center"><strong>Email</strong></div></td>
				<td width="100"><div align="center"><strong>Telephon/HP</strong></div></td>
				<td width="50"><div align="center"><strong>Level</strong></div></td>
				<td width="50"><div align="center"><strong>Status</strong></div></td>
                <td width="90"><div align="center"><strong>Aksi</strong></div></td>
              </tr>
			  <?php
			$hal = $_GET[hal];
			// jika page default nya 1
			if(!isset($_GET['hal'])){
			$halaman = 1;
			} else {
			$halaman = $_GET['hal'];
			}
			//tentukan jumlah data setiap halaman
			$hal_maksimum =10;
			// halaman di kali MAX jumlah item per halaman dikurangi MAX jumlah item per halaman
			$mulai = (($halaman * $hal_maksimum) - $hal_maksimum);
			  $sql="select * from user order by level ASC LIMIT $mulai, $hal_maksimum";
			  $query=mysql_query($sql);
			  $no=1;
			  while($data=mysql_fetch_array($query)){
			  ?>
              <tr>
                <td><div align="center"><?php echo $no; ?></div></td>
                <td><?php echo $data['username']; ?></td>
				<td><?php echo $data['nama_lengkap']; ?></td>
				<td><?php echo $data['email']; ?></td>
				<td><?php echo $data['telp_hp']; ?></td>
				<td><?php echo $data['level']; ?></td>
		<td><div align="center"><?php echo $data['status']; ?></td>
               <td><div align="center"><a href="user.php?username=<?php echo $data['username']; ?>"><img src="../gambar/button-edit.gif" width="20" height="20" /></a><a href="javascript:if(confirm('Anda yakin akan menghapus data ini??')){document.location='hapususer.php?username=<?php echo $data['username']; ?>';}"><img src="../gambar/button-cross.gif" width="20" height="20" /></a> </div></td>
              </tr>
             <?php 
			 $no++;
			 }?>
            </table>
<?php
$total= mysql_result(mysql_query("SELECT COUNT(*) as jumlah FROM user"),0);
$jumlah_halaman = ceil($total / $hal_maksimum);
// bangun jumlah hiperlink halaman
echo "<center>Halaman<br />";
// bangun Previous link
if($hal > 1){
$sebelum = ($halaman - 1);
echo "<a href=$_SERVER[PHP_SELF]?hal=$sebelum title=Sebelumnya>Prev</a>
";
}
for($i = 1; $i <= $jumlah_halaman; $i++){
if(($hal) == $i){
echo "$i ";
} else {
echo "<a href=$_SERVER[PHP_SELF]?hal=$i>$i</a> ";
}
}
// bangun Next link
if($hal < $jumlah_halaman){
$selanjutnya = ($halaman + 1);
echo "<a href=$_SERVER[PHP_SELF]?hal=$selanjutnya title=Selanjutnya>Next</a>";
}
echo "</center>";
?>       
            <p>&nbsp;</p>
          </td>
        </tr>
      </table>
	  <div class="px" align="center"><img src="../gambar/bot01.jpg" width="780" height="9" alt="" border="0"></div>
<table border="0" cellspacing="0" cellpadding="0" width="780" align="center">
<tr>
	<td><p align="center">
	  <?php include "footer.php"; ?>
	</p></td>
	      <td height="50"> 
            <p class="bot">&nbsp;</p>
	</td>
</tr>
</table>
	</td>
	<td valign="bottom" background="../gambar/bg_right.gif"><img src="../gambar/bg_right.gif" alt="" width="17" height="16" border="0"></td>
	<td width="50%" background="../gambar/bg.gif"><img src="../gambar/px1.gif" width="1" height="1" alt="" border="0"></td>
</tr>
</table>

</body>
</html>
<?php
}
   else
   {
       // jika levelnya bukan admin, tampilkan pesan
       echo "<script>alert('Maaf.. Anda bukan admin');javascript:history.go(-1);</script>";
   }
}
else
{
   echo "<script>alert('Silakan login!!');javascript:history.go(-1);</script>";
}
?>

untuk melihat hasilnya silakan login dengan admin, kemudian klik menu user maka akan tampil seperti gambar dibawah ini

setting-kompirmasi-user-php

dihalaman admin ini kita bisa edit data user, bisa edit level user, bisa edit status user aktif atau tidak aktif.

10. Membuat Logout

buat file logout.php

<?php
// https://phpdanmysql.com
session_start();
session_destroy();
header("location:../index.php"); 
?>

setelah semua selesai maka kita sudah bisa mendaftar sebagai user atau guru, kita bisa login dengan dengan level admin, guru, user, kita akan diarahkan ke halaman berbeda antara admin, guru dan user.

Note

ditutorial membuat login multi user dengan hak akses berbeda di php dan mysql ini terinspirasi dari login multi user yang pernah saya buat didalam sistem informasi sekolah berbasis web

Menu-menu yang ada dalam sistem login php ini belum semuanya terisi, karena saya hanya fokus ke loginnya saja, dimana menu lainnya adalah menu untuk sistem informasi sekolah yang saya buat.

Tutorial login ini mengajarkan bagaimana membuat halaman admin dan halaman user itu berbeda.

di tutorial login ini setiap user yang mendaftar statusnya akan otomatis aktif, dan langsung bisa login setelah selesai mendaftar, namun jika anda mau bisa juga di ubah agar status yang mendaftar tidak aktif, atau menunggu di kompirmasi dulu oleh admin. silakan di komentar jika ingin di ubah.

di tutorial login php mysql ini tampilan web anda dengan punya saya pasti berbeda karena gambar-gambar, icon-icon untuk mempercantik tampilannya tidak saya sertakan disini, kalau anda mau bisa buat folder dengan nama gambar di dalam folder login kemudian taruh gambar dan icon anda di dalam folder gambar tersebut. icon nya bisa cari di google

tutorial ini sudah berjalan tanpa error di xampp

sekian tutorial cara membuat login multi user dengan hak akses dan level berbeda ini semoga bermanfaat

jika tutorial ini bermanfaat mohon di bagikan ke teman-teman kita yang lainnya, namun jika tutorial ini tidak bermanfaat mohon di komentar kekurangannya untuk kemajuan blog ini.

salam phpdanmysql.com

Baca juga cara membuat form dengan html

Keyword:

  • script membuat login multiuser dan hak akses dengan php
  • script sistem login dengan 3 user dengan hak akses yang berbeda
  • langkah membuat login multiuser menggunakan database
  • hak akses php database
  • daftar user dan password di php mysqli
  • contoh form login daftar logout dengan php mysqli
  • Cara user daftar login
  • cara mengkoneksi admin dan user ke dasboard yg beda
  • tutorial pembuata login multi user di subliem
  • cara membuat hak ases di login php

Get real time updates directly on you device, subscribe now.

loading...
8 Comments
  1. jhon says

    thanx gan tulisannya sangat membantu tapi saat dijalakan masih ada error, file header.php nya tidak ada ya. thanx

    1. adies says

      Yap benar gan.
      silakan dibuat header.php nya biar gk error.
      karena header aplikasi agan pasti beda dgn header aplikasi.oleh krna itu header nya g saya buatin.

  2. dinar says

    ketika user di non aktifkan ko masih bisa login gann

  3. adies says

    Masak iya gan… Coba di Non aktifkan, setelah itu cek di phpmyadmin apakah user benar udah non aktif atau blum… Kalau udah non aktif tpi masih bisa login berarti ada yg salah di script

  4. Gunaji says

    Sip.. Sangat membantu…
    Mohon pencerahan, saat user sudah login dan diarahkan ke halaman adminpanel/home.php, kenapa user masih bisa kembali membuka halaman login di index.php? Mohon bantuannya, bagaimana setelah user login, tidak bisa membuak halaman index.php, saat membuka halaman index.php bisa diarahkan ke halaman adminpanel/home.php. Terima kasih.

    1. adies says

      Pakai script session aja gan.

  5. Aji Nuansa Sengarie says

    mantap gan

  6. Aji Nuansa Sengarie says

    gan di kelola user masih ada yang error,napa ya?

Ingin Berkomentar?

×
Lewat ke baris perkakas