Avatar billede jps6kb Novice
05. august 2005 - 09:48 Der er 10 kommentarer og
1 løsning

Se session objekt findes

Hej,

Kan man på en eller anden måde spørge, om et session objekt findes?

Jeg vil gerne lave et udtræk på hver side på baggrund af session("status") .. men status bliver kun tildelt hvis man er logget ind.
Avatar billede busschou Praktikant
05. august 2005 - 09:53 #1
if session("status") <> "" then
  //så er den der
else
//så er den der ikke
end if
Avatar billede busschou Praktikant
05. august 2005 - 09:56 #2
dvs hvis du har tildelt
session("status") = ""
så findes den jo, men den er tom
Men til dit brug vil jeg mene det burde gøre det :o)
Avatar billede jps6kb Novice
05. august 2005 - 10:13 #3
Perfekt.. mange tak.. smider du et svar :)
Avatar billede busschou Praktikant
05. august 2005 - 10:14 #4
yes :o) godt det virker
Avatar billede softspot Forsker
05. august 2005 - 10:17 #5
En mere "korrekt" måde at checke på er ved at teste for Empty, således

isEmpty(session("tester"))
Avatar billede busschou Praktikant
05. august 2005 - 10:23 #6
det er vel an på hvad man skal bruge det til
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsfctdatediff.asp
Så vidt jeg kan se returnerer isEmpty kun True hvis variablen enten ikke er initialiseret eller hvis den explicit bliver sat til Empty
Så hvis man har et tilfælde hvor man kan risikere at ens session("tester") = "" så vil isEmpty så vidt jeg kan læse mig til det returnere False fordi den er initialiseret
Avatar billede busschou Praktikant
05. august 2005 - 10:24 #7
Men det er selvfølgelig muligt at mit tjek vil fejle hvis sessionen indeholder et objekt, hmm ....
Avatar billede softspot Forsker
05. august 2005 - 10:28 #8
Yes, men den er jo heller ikke empty hvis den indeholder en tom streng - selvom det er en tom streng så er det jo trods alt en valid værdi. Spørgsmålet er vel om kan teste på om en session-variabel er brugt eller ej - og det er stadig min overbevisning at isEmpty er måden at gøre det på (for den er som udgangspunkt empty hvis du ikke tildeler den en værdi).
Avatar billede busschou Praktikant
05. august 2005 - 10:33 #9
Det anbefales jo fx at man initialiserer alle sine sessions variable i global.asa i session_OnStart hvorved man er sikret at de er tilstede når de skal bruges
Hvis man kan se logikken i det og gør det, så vil man aldrig komme ud for en Empty sessions variable
--
andet eksempel
session("test") = "hej"
session("test") = Null
session("test") = "hej"
session("test") = Empty
isEmpty(session("test")) <-- giver True fordi den er sat til empty
Så man kan ikke bruge isEmpty til at se om variablen er brugt, for det er den jo, den er bare "nulstillet" igen efter bruge, men det kan man så tjekke :o)

Resten er vist ord kløveri ;o) hehe
Avatar billede softspot Forsker
05. august 2005 - 11:28 #10
hmmm... jeg kan bare konstatere at hvis jeg ikke følger anbefalingerne (hvem end der så fremsætter dem :)), så kan jeg kontrollere om en session-variabel er initialiseret med isEmpty - det var bare det jeg ville sige - hej! :D
Avatar billede busschou Praktikant
05. august 2005 - 11:33 #11
Det gør microsoft selvfølgelig ;o) haha men måske det i sig selv er en grund til at undlade dem engang imellem ;o)
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
Kurser inden for grundlæggende programmering

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