Hallo! Selamat Datang di Marketplace produk digital, Freelancer terbaik di indonesia (68436 Members, 792 Products, 5353 Topic, 13045 Comments)

Cara membatasi menu pada user

Dibuat
Login Terakhir 22 Hari lalu,
Telah Dilihat 1028 Kali
Naufal Khairuddin Mengatakan : Sultan Account
  1. Assalamualaikum Warahmatullahi Wabarakatuh...
  2. Mas, mau tanya pada bagian menu header.php di phpmu-magazine swarakalibata.
  3. Cara agar user hanya bisa melihat menu sesuai dengan modul yang ditambahkan pada code dibawah.
  4.  
  5. function main_menu() {
  6. $ci = & get_instance();
  7. $query = $ci->db->query("SELECT id_menu, nama_menu, link, id_parent FROM menu where aktif='Ya' AND position='Bottom' order by urutan");
  8. $menu = array('items' => array(),'parents' => array());
  9. foreach ($query->result() as $menus) {
  10. $menu['items'][$menus->id_menu] = $menus;
  11. $menu['parents'][$menus->id_parent][] = $menus->id_menu;
  12. }
  13. if ($menu) {
  14. $result = build_main_menu(0, $menu);
  15. return $result;
  16. }else{
  17. return FALSE;
  18. }
  19. }
  20.  
  21. function build_main_menu($parent, $menu) {
  22. $html = "";
  23. if (isset($menu['parents'][$parent])) {
  24. if ($parent=='0'){
  25. $html .= "<ul class='the-menu'>
  26. <li><a href='".base_url()."' style='background: url(".base_url()."asset/images/home.png) no-repeat center; font-size:0; width:34px;'><br></a></li>";
  27. }else{
  28. $html .= "<ul>";
  29. }
  30. foreach ($menu['parents'][$parent] as $itemId) {
  31. if (!isset($menu['parents'][$itemId])) {
  32. if(preg_match("/^http/", $menu['items'][$itemId]->link)) {
  33. $html .= "<li><a target='_BLANK' href='".$menu['items'][$itemId]->link."'>".$menu['items'][$itemId]->nama_menu."</a></li>";
  34. }else{
  35. $html .= "<li><a href='".base_url().''.$menu['items'][$itemId]->link."'>".$menu['items'][$itemId]->nama_menu."</a></li>";
  36. }
  37. }
  38. if (isset($menu['parents'][$itemId])) {
  39. if(preg_match("/^http/", $menu['items'][$itemId]->link)) {
  40. $html .= "<li><a target='_BLANK' href='".$menu['items'][$itemId]->link."'><span>".$menu['items'][$itemId]->nama_menu."</span></a>";
  41. }else{
  42. $html .= "<li><a href='".base_url().''.$menu['items'][$itemId]->link."'><span>".$menu['items'][$itemId]->nama_menu."</span></a>";
  43. }
  44. $html .= build_main_menu($itemId, $menu);
  45. $html .= "</li>";
  46. }
  47. }
  48. $html .= "</ul>";
  49. }
  50. return $html;
  51. }
  52. echo main_menu();
  53.  
  54. Saya mau buat seperti di sidebar.php yang ada dihalaman administrator seperti dibawah ini.
  55.  
  56. $cek=$this->model_app->umenu_akses("main_menu",$this->session->id_session);
  57. if($cek==1 OR $this->session->level=='admin'){
  58. }
  59.  
  60. Mohon pencerahannya. Terimakasih
  61. Wassalamu'alakum Warahmatullahi Wabarakatuh

Ada 2 Jawaban

PHPMU.COM Support
commented on 07 Agu 2023 11:09:20
Salah satu jawaban terbaik,..
  1. Assalamualaikum,.. untuk pengecekan seperti ini untuk user dan sudah login, karna perlu pengecekan ke level dan akses apa saja yang ada di level tersebut nantinya.
  2. $cek=$this->model_app->umenu_akses_users("main_menu",$this->session->id_session);
  3. if($cek==1 OR $this->session->level=='users'){
  4. // Menu disini
  5. }
  6.  
  7.  
  8. jika mau ditempatkan pengecekan pada script diatas maka nanti pada bagian script dibawah ini akan jadi seperti ini :
  9. $ci = & get_instance();
  10. $cek=$ci->model_app->umenu_akses_users("main_menu",$ci->session->id_session);
  11. if($cek==1 OR $ci->session->level=='users'){
  12. if(preg_match("/^http/", $menu['items'][$itemId]->link)) {
  13. $html .= "<li><a target='_BLANK' href='".$menu['items'][$itemId]->link."'>".$menu['items'][$itemId]->nama_menu."</a></li>";
  14. }else{
  15. $html .= "<li><a href='".base_url().''.$menu['items'][$itemId]->link."'>".$menu['items'][$itemId]->nama_menu."</a></li>";
  16. }
  17. }
  18.  
Naufal Khairuddin
commented on 08 Agu 2023 02:35:23
  1. Assalamualaikum,..
  2. keren!!! udah bisa. Alhamdulillah. Terimakasih banyak mas
Maaf, Untuk Memberikan Komentar Anda Harus Login !!!

Online