Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
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