Du skal tjekke med to lig med tegn og ikke et, så brug == og det skulle gerne virke husk også at sætte admin med to citationstegn, da det formentlig er en streng. Jeg har også adskilt dit tjek om session group er sat.
- if(isset($_SESSION['username']) && $_SESSION['group'] == "admin")
Hvis de gerne vil tjekke om session group er sat også kan du gøre noget lignende.
- if(isset($_SESSION['username'] && $_SESSION['group'])) {
- if ($_SESSION['group'] == "admin") {
- //Kode hvis både username og group er sat, samt at group er admin
- } else {
- //Kode hvis group ikke er admin
- }
- }
et enkelt lig med tegn betyder at du tildeler en værdi til en variabel, men hvis du ønsker at tjekke, f.eks. i en if sætning, så skal du benytte == eller ===.
Tre lig med tegn er dog i nogle henseender overkill, da den sammenligner helt ned til detaljer, hvilket ikke altid virker med strenge.
Hvis du vil være helt sikker på at du altid får et ordentlig svar, når du sammenligner strenge, så brug funktionen
strcmp( String1, String2 ), som fungerer på den måde at den returnerer nul, hvis de to strenge matcher
- if(isset($_SESSION['username'] && $_SESSION['group'])) {
-
- if (strcmp($_SESSION['group'], "admin") === 0) {
- //Kode hvis group er admin
- } else {
- //Kode hvis group ikke er admin
- }
-
- }
Indlæg senest redigeret d. 01.04.2012 23:43 af Bruger #4487