Avatar billede discotk Nybegynder
02. juli 2008 - 19:04 Der er 4 kommentarer og
1 løsning

Hvad er forskellen?

Hvad er forskellen på disse to?

<?php if ($_SESSION['MM_UserGroup'] >=5) {?>

og

<?php if (isset($_SESSION['MM_UserGroup']) && $_SESSION['MM_UserGroup']=='admin' )
{ ?>.

Fordele og ulemper?
Avatar billede hmortensen Nybegynder
02. juli 2008 - 20:43 #1
Det er to forskellige kriterier der testet på.

isset() kontrollerer om en given variabel er sat, hvis ikke isset() bruges og sessionen ikke er sat, vil det udløse en warning afhænig af opsætning i php.ini.
Avatar billede cronaldo Nybegynder
04. juli 2008 - 23:20 #2
i princippet kan du oversætte den til dansk.

I den første sætning står der:
Hvis sessionen ved navn "MM_UserGroup" er STØRRE END eller LIG MED 5 så gør det her:

I den anden sætning står der:
Hvis session ved navn "MM_UserGroup er sat(altså: ikke er tom!!) !!! OOOOG !!! session ved navn "MM_UserGroup" er LIG MED 'admin' så gør det her:

.. I princippet kan jeg ikke se hvorfor du tjekker, som $_SESSION['MM_UserGroup'] er sat OG tjekker om den er = 'admin' ? Fordi du kan jo klare det med:
IF(isset($_SESSION['MM_UserGroup'] == "admin")){
.. fordi hvis session = "admin" så er den jo også sat?
Avatar billede pidgeot Nybegynder
04. juli 2008 - 23:27 #3
...sådan fungerer det ikke, cronaldo.

Sidstnævnte er den pæne måde at gøre det på, da short-circuit evaluation forhindrer den i at rent faktisk forsøge at tilgå den værdi hvis den ikke findes. Dermed genererer den heller ikke nogen E_NOTICE (ikke E_WARNING, som hmortensen lidt hentyder til) fordi den ikke kender til variablen - men den vil stadig fortsætte.
Avatar billede discotk Nybegynder
14. juni 2009 - 15:09 #4
Lukker
Avatar billede arne_v Ekspert
14. juni 2009 - 18:18 #5
Har du ikke faaet den forklaring du efterlyste ??
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