Centar za edukaciju-BiH



#1 22.04.2020 12:45
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,812


Predmet:kako sakriti admin meni iz menija
Htio bih napraviti jedan meni za sve ali ako se logira obicni korisnik da se sakrije meni admina.
Sada u ovome mome primjeru to nije napravljeno, tek pokusaj. Mozda imate neki primjer ili upute kako se to radi.

pokusao sam ovako:

PreuzmiIzvorni kôd (Text):
  1. <?php
  2.                 include('functions.php');
  3.                 if (isAdmin()) {
  4. ?>
  5.                         <a href="index.php?u=korisnik">Korisnik</a>
  6.                         <a href="index.php?u=import">Import</a>
  7. <?php } ?>

ovo mi ne radi

Prilozi:
Informacije o tipu datoteke za:zip  login_icentar.zip
Preuzimanja:199
Velicina datoteke:36.75 KB
Informacije o tipu datoteke za:zip  testbaza.zip
Preuzimanja:209
Velicina datoteke:797 Bajt


zivot je moja domovina.
↑  ↓

#2 22.04.2020 17:49
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,812


Predmet:Re: kako sakriti admin meni iz menija
ja cijelo vrijeme pretrazujem internet i pokusavam naci rijesenje. Trenutno sam nesto pronasao ali neznam dali je to u redu. Rijesenje radi ali nisam siguran da je to u redu.
Napravio sam dvije html stranice , u hederAdmin sam dodao 2 menija. Pozivaju se stranice iz index.php u ovisnosti tko je logiran.
Poziva se function.php i u njemu se nalazi dio:

PreuzmiIzvorni kôd (Text):
  1. function isAdmin()
  2.         {
  3.                 if (isset($_SESSION['korisnik']) && $_SESSION['korisnik']['tipKorisnika'] == 'admin' ) {
  4.                         return true;
  5.                 }else{
  6.                         return false;
  7.                 }
  8.         }

ako je korisnik admin, ucitat ce hederAdmin.html stranicu, a ako je korisnik ucitat ce heder.html

index.php
PreuzmiIzvorni kôd (Text):
  1. <?php
  2.        
  3.         include('functions.php');
  4.  
  5.         if (!isLoggedIn()) {
  6.                 // $_SESSION['msg'] = "Prvo se morate prijaviti."; mozda netreba
  7.                 header('location: login.php');
  8.         }
  9.         require_once ("classes/class.template.php");
  10.         $tmp = new tmp();
  11.        
  12.         if (!isAdmin()) {                                       //ovo sam dodao
  13.                 echo $tmp->parse("heder");              //ovo je bilo prije dodatka
  14.         }else{                                                          //ovo sam dodao
  15.                 echo $tmp->parse("hederAdmin"); //ovo sam dodao
  16.         }                                                                       //ovo sam dodao
  17.        
  18.         if (!isset ($_GET['u']))
  19.         {
  20.                 $tekst='pocetna';// prva stranica koja se ucita nakon logiranja
  21.                 echo $tmp->parse($tekst);
  22.         }else{
  23.                 $tekst=$_GET['u'];
  24.                 echo $tmp->parse($tekst);
  25.         }
  26.         echo $tmp->parse("futer");
  27. ?>

jeli to u redu?

Prilozi:
Informacije o tipu datoteke za:zip  login_icentar.zip
Preuzimanja:198
Velicina datoteke:37.70 KB


zivot je moja domovina.
Ovaj post je ureden 1 puta. Posljednja izmjena 22.04.2020 17:49 od strane Avko. ↑  ↓

#3 24.04.2020 12:00
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,644


Predmet:Re: kako sakriti admin meni iz menija
Nevjerovatno si brzo ovo sve skonto.
Ima nekih sitnica koje bi trebalo popraviti.
Vidim uzeo si klasu tmp i koristis jednu funkciju za sad.
U ovoj klasi pobrisi funkciju tmp (function tmp) za sad ti netreba a da te ne zbunjuje.
Ovo je neka starija verzija php jer novije ne podrzavaju isto ime klase i funkcije.
u funkciji functio parse izbrisi ova dva rede ili detuj kako hoces.
        //extract($this->oldvars, EXTR_SKIP);
        //extract($this->vars);
E sad admin meni.
Mislim da to znas napraviti ali si vjerovatno bio preumoran pa ti je nestalo ideja.
Mozda ****lje da i u htmlu izdvojis meni od hedera pa ga pozivas kao i heder.
Nije ti ni potrebno dva html-a za meni dovoljno je jedan u kome ce biti jedan if,
Naravno moze i ovako ostati ali taj if bi onda bio u index.php.
Doduse ti imas taj if u funkciji function login() ali tamo ne radi nista pa trebas popraviti funkciju u ovom dijelu.
PreuzmiIzvorni kôd (PHP):
  1.         if (mysqli_num_rows($results) == 1) { // pronasao korisnika
  2.                                 // provjeri dali je admin
  3.                                 $logged_in_user = mysqli_fetch_assoc($results);
  4.                                 $_SESSION['korisnik'] = $logged_in_user;
  5.                         }
  6.                         else
  7.                         {
  8.                                 array_push($errors, "Pogresno uneseni podaci.");
  9.                         }

Sad pogledah i indeksnu i vidm da si to napravio vec i to sve radi samo treba napisati jednom korisniku u tipu admin.
PreuzmiIzvorni kôd (PHP):
  1.         if (!isAdmin()) {                                       //ovo sam dodao
  2.                 echo $tmp->parse("heder");              //ovo je bilo prije dodatka
  3.         }else{                                                          //ovo sam dodao
  4.                 echo $tmp->parse("hederAdmin"); //ovo sam dodao
  5.         }              

Ja bih ovo skinuo odavde i napravio direktno u meniju sa istim ifom.

hederAdmin.html
PreuzmiIzvorni kôd (HTML):
  1. <!DOCTYPE html>
  2. <html lang="hr">
  3. <meta charset="UTF-8">
  4. <meta name="viewport" content="width=device-width, initial-scale=1">
  5. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
  6.  
  7. <title>'.$naslov.'</title>
  8. <link rel="stylesheet" href="css/styleHeder.css">
  9.  
  10. </head>
  11. function myFunction() {
  12.     var x = document.getElementById("myTopnav");
  13.     if (x.className === "topnav") {
  14.         x.className += " responsive";
  15.     } else {
  16.         x.className = "topnav";
  17.     }
  18. }
  19.  
  20. <div id="container">
  21.         <div id="header">
  22.                 <div class="topnav" id="myTopnav">
  23.                         <a class="active" href="index.php?u=pocetna">POCETNA</a>
  24.                         <a href="index.php?u=racunarstvo">Teh. Racunarstva</a>
  25.                         <a href="index.php?u=elektronika">Teh. elektronike</a>
  26.                         <a href="index.php?u=energetika">Teh. elek.energetike</a>
  27.                         <a href="index.php?u=mehatronika">Teh. mehatronike</a>
  28.                         <a href="index.php?u=elektricar">Elektricar</a>
  29. <?php If($_SESSION['korisnik']['tipKorisnika']=='admin')
  30. {
  31.         ?>                     
  32.                         <a href="index.php?u=korisnik">Korisnik</a>
  33.                         <a href="index.php?u=import">Import</a>
  34. <?php
  35. }
  36. ?>                     
  37.                         <a href="index.php?logout='1'"/>ODJAVA</a>
  38.                         <a href="javascript:void(0);" class="icon" onclick="myFunction()"><i class="fa fa-bars"></i></a>
  39.                 </div>
  40.                 <div class="nav-toggle">
  41.                         <span class="icon-bar"></span>
  42.                         <span class="icon-bar"></span>
  43.                         <span class="icon-bar"></span>
  44.                 </div>
  45.         </div>         
  46.         <div id="sredina">

index.php
PreuzmiIzvorni kôd (PHP):
  1. <?php
  2.        
  3.         include('functions.php');
  4.  
  5.         if (!isLoggedIn()) {
  6.                 // $_SESSION['msg'] = "Prvo se morate prijaviti."; mozda netreba
  7.                 header('location: login.php');
  8.         }
  9.         require_once ("classes/class.template.php");
  10.         $tmp = new tmp();
  11. /*     
  12.         if (!isAdmin()) {                                       //ovo sam dodao
  13.                 //echo $tmp->parse("heder");            //ovo je bilo prije dodatka
  14.         }else{                                                          //ovo sam dodao
  15.                 //echo $tmp->parse("hederAdmin");       //ovo sam dodao
  16.         }       */                                                              //ovo sam dodao
  17. echo $tmp->parse("hederAdmin");
  18.         if (!isset ($_GET['u']))
  19.         {
  20.                 $tekst='pocetna';// prva stranica koja se ucita nakon logiranja
  21.                 echo $tmp->parse($tekst);
  22.         }else{
  23.                 $tekst=$_GET['u'];
  24.                 echo $tmp->parse($tekst);
  25.         }
  26.         echo $tmp->parse("futer");
  27. ?>

Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

Stranice (1):1


Sva vremena su GMT +01:00. Trenutno vrijeme: 7: 05 pm.