Postingan lainnya
Kelas Premium!
Belajar Javascript untuk website
Gunakan kupon "mulaijs" untuk diskon 75 ribu!
Bagaimana cara menampilkan menu berdasarkan kategory
Saya mempunyai 2 hak akses yaitu : admin dan mahasiswa
data mahasiswanya dari semester 1 sampai 8.
Jadi permasalahanya adalah ketika saya login dengan user mahasiswa semester 1, maka bagaimana caranya agar menampilkan menu semester 1 saja, atau ketika login dengan mahasiswa semester 2 maka menampilkan menu semester 2 saja. Soalnya pada setiap semester menunya berbeda beda...
Berikut MysQl nya :
image.png
Berikut coding menunya :
<aside class="main-sidebar">
<section class="sidebar">
<ul class="sidebar-menu">
<li class="header">MENU</li>
<li class="treeview">
<a href="index.php">
<i class="fa fa-dashboard"></i> <span>Dashboard</span>
</a>
<li class="treeview">
<li><a href="sem1.php"><i class="fa fa-pencil-square"></i> Semester 1</a></li>
<li class="treeview">
<li><a href="sem2.php"><i class="fa fa-pencil-square"></i> Semester 2</a></li>
<li class="treeview">
<li><a href="sem3.php"><i class="fa fa-pencil-square"></i> Semester 3</a></li>
<li class="treeview">
<li><a href="sem4.php"><i class="fa fa-pencil-square"></i> Semester 4</a></li>
<li class="treeview">
<li><a href="sem5.php"><i class="fa fa-pencil-square"></i> Semester 5</a></li>
<li class="treeview">
<li><a href="sem6.php"><i class="fa fa-pencil-square"></i> Semester 6</a></li>
<li class="treeview">
<li><a href="sem7.php"><i class="fa fa-pencil-square"></i> Semester 7</a></li>
<li class="treeview">
<li><a href="sem8.php"><i class="fa fa-pencil-square"></i> Semester 8</a></li>
<li class="treeview">
<li><a href="data_terkirim.php"><i class="fa fa-table"></i> Data Terkirim</a></li>
</ul>
</li>
</section>
</aside>
Berikut cek loginnya :
<?php
session_start();
# check apakah ada akse post dari halaman login?, jika tidak kembali kehalaman depan
if( !isset($_POST['username']) ) { header('location:index.php'); exit(); }
# set nilai default dari error,
$error = '';
require ('config.php');
$username = trim( $_POST['username'] );
$password = trim( $_POST['password'] );
if( strlen($username) < 2 )
{
# jika ada error dari kolom username yang kosong
echo"<script>window.alert('Username tidak boleh kosong');window.location=('login.php');</script>";
}else if( strlen($password) < 2 )
{
# jika ada error dari kolom password yang kosong
echo"<script>window.alert('Password tidak boleh kosong');window.location=('login.php');</script>";
}else{
# Escape String, ubah semua karakter ke bentuk string
$username = $db->escape_string($username);
$password = $db->escape_string($password);
# dengan md5
//$password = md5($password);
# SQL command untuk memilih data berdasarkan parameter $username dan $password yang
# di inputkan
$sql = "SELECT nama_lengkap, username, hak_akses, nidn, nip, nim, jenis_kelamin, agama, tempat_lahir, tgl_lahir, prodi, angkatan FROM tb_pengguna WHERE username='$username' AND password='$password' LIMIT 1";
# melakukan perintah
$query = $db->query($sql);
# check query
if( !$query )
{
die( 'Oops!! Database gagal '. $koneksi->error );
}
# check hasil perintah
if( $query->num_rows == 1 )
{
# jika data yang dimaksud ada
# maka ditampilkan
$row =$query->fetch_assoc();
# data nama disimpan di session browser
$_SESSION['nama_user1'] = $row['nama_lengkap'];
$_SESSION['nama_user'] = $row['username'];
$_SESSION['akses'] = $row['hak_akses'];
$_SESSION['nidn'] = $row['nidn'];
$_SESSION['nip'] = $row['nip'];
$_SESSION['nim'] = $row['nim'];
$_SESSION['jenis_kelamin'] = $row['jenis_kelamin'];
$_SESSION['agama'] = $row['agama'];
$_SESSION['tempat_lahir'] = $row['tempat_lahir'];
$_SESSION['tgl_lahir'] = $row['tgl_lahir'];
$_SESSION['prodi'] = $row['prodi'];
$_SESSION['angkatan'] = $row['angkatan'];
if( $row['hak_akses'] == 'admin')
{
# data hak Admin di set
$_SESSION['saya_admin']= 'TRUE';
}
# menuju halaman sesuai hak akses
header('location:'.$url.'/'.$_SESSION['akses'].'/');
exit();
}else{
# jika data yang dimaksud tidak ada
echo"<script>window.alert('Username dan password tidak ditemukan');window.location=('login.php');</script>";
}
}
if( !empty($error) )
{
# simpan error pada session
$_SESSION['error'] = $error;
header('location:'.$url.'/login.php');
exit();
}
?>
gambar menu masih tampil semua, jika login dengan mahasiswa semester 1- 8
image.png
1 Jawaban:
<div>1. Bikin session ketika login berdasarkan level/semester mahasiswanya.<br>2. Panggil session level/semesternya saat mau menampilkan menu.<br>3. Kurang lebih strukturnya seperti ini, maaf gak bisa nulis code versi php nativ nya. Tapi kaya nya gak jauh beda dgn yg sering sy praktekkan di codeigniter</div><pre>if($this->session->userdata('semester') == 1) { <li><a href="sem1.php"><i class="fa fa-pencil-square"></i> Semester 1</a></li> }else if($this->session->userdata('semester') == 2) { <li><a href="sem1.php"><i class="fa fa-pencil-square"></i> Semester 2</a></li> }else { <li><a href="sem1.php"><i class="fa fa-pencil-square"></i> Semester 3</a></li> }</pre><div>Kurang lebih seperti itu logikanya.</div>
Tanggapan
apakah boleh minta contoh coding session pada saat login ? Terimakasih
sudah jadi gan, Terimakasih