15. april 2005 - 18:09Der er
6 kommentarer og 1 løsning
User levels
Hej jeg er igang med at lave et login system til min side. Jeg har lavet forskellige user levels, sådan at nogle brugere har adgang til andre ting som alm. brugere ikke har. jeg har deffineret det sådan at:
if($session->isAdmin()){ bla bla bla }
jeg er selvfølgelig admin på min egen side, og vil defor gerne have adgang til alt. Men jeg har også defineret at:
if($session->isMod()){ bla bla bla }
Det jeg gerne vil, er at "linke" de to deffinitioner sammen, så jeg ikke behøver at skrive de samme to gange, noget i retningen af:
if($session->isAdmin() & isMod()){ bla bla bla } Dette er ikke den rigtige løsning, men det fremmer forståelsen.
nemlig, men jeg ville jo også gerne se og kunne hvad moderatorene kan og se. ved kun at sætte isMod ind, som har en bestemt user level, kan alle andre ikke se hvad de kan og se. derfor vil jeg gerne kombinere isAdmin og isMod, så begge user levels har adgang.
Det virkede ikke specielt godt,da jeg får: Fatal error: Call to a member function isAdmin() on a non-object in X:\xxxx\session.php on line 429
og på linie 429 er der nemlig: return ( $session->isAdmin() || isMod() );
jeg har prøvet med forskellige varianter af funktionen, men uden held. Du skulle vel aldrig have endnu et forslag? Har siddet og stirret mig blind på dette problem hele dagen.
du skal lige have $session-klassen med .. (via parameter eller evt via globals)
fx
function isAdminMod($session) { return ($session->isAdmin() ||isMod()); }
Der skal måske også $session-> foran isMod() men det ved du nok bedst. Hvis der skal, så ville det være oplagt at lade funktionen være en metode i $session-klassen
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.