Avatar billede gumphfy Nybegynder
15. april 2005 - 18:09 Der 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.

Håber i kan hjælpe mig.
På forhånd tak.
Avatar billede dennismp Nybegynder
15. april 2005 - 18:32 #1
Jeg har et ligende check, der returnerer isMod() true for både moderatorer og admnistratorer.

Det er jo sjældent at en moderator kan mere end een administrator
Avatar billede gumphfy Nybegynder
15. april 2005 - 18:37 #2
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.
Avatar billede dennismp Nybegynder
15. april 2005 - 18:44 #3
Er det ikke bare at lave en hjælper funktion der gør det for dig

noget i stil med

function isAdminMod() {
  return ( $session->isAdmin() || isMod() );
}

eller misforstår jeg dit spørgsmål?
Avatar billede gumphfy Nybegynder
15. april 2005 - 20:02 #4
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.
Avatar billede dennismp Nybegynder
15. april 2005 - 20:08 #5
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
Avatar billede gumphfy Nybegynder
15. april 2005 - 20:26 #6
Takker!!!
Det virkede.
det hele ser nu sådan ud:
function isAdminMod($session) {
    return ($session->isAdmin() || $session->isMod());

if($session->isAdminMod($session)){
Bla bla bla bla
}

Smid lige et svar, så du kan få dine point.
Takker igen!
Avatar billede dennismp Nybegynder
15. april 2005 - 20:35 #7
Det var så lidt :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester