07. august 2004 - 13:09Der er
13 kommentarer og 2 løsninger
Underlig session opførsel
Jeg har lavet en 4 trins modul hvor jeg på første side opretter 7 sessions med hver deres navn og giver dem alle værdien 0. På trin to får de første 3 sessions en ny værdi via en database hvilket er fint nok. Men på den næste side skal de sidste 4 sessions også have en ny værdi. Dette lykkes også fint, men når jeg så skriver de første 3 sessions ud på denne side har de alle en tom værdi.
Jeg har ikke nogen session.abandon på siden og de overskrives heller ingen steder.
Når du ikke overskriver sessionvariablerne, er de uændrede indtil sessionen nedbrydes. Prøv at indsætte linien <% Response.write Session("variabel3") %> systematisk forskellige steder på siderne, så ser du hvor i processen de ændrer sig.
Det sker allerede når jeg skifter til trin tre. Der har jeg skrevet de første tre sessions ud og de er tomme. Hvis jeg skriver de tre første sessions ud i slutningen på side to har de den korrekte værdi. Så det skal ligge derimellem. Men der er ikke noget kode der kan forandre deres værdier i dette område.
Når du tester på localhost eller 127.0.0.1 går jeg ud fra at du bruger IIS, og så tester du det på en server. Så er computeren bare både server og klient på samme tid
Men du kunne jo også prøve at erklære alle sessionsvariablerne i global.asa. Hvis du eksempelvis sætter dem til -1, så kan du altid se forskel på, om det er din session, der starter forfra, eller varablerne som er sat til ingenting. Hvis din session starter forfra på side 3, vil de tre variabler hedde -1, hvis de er overskrevet vil de formentlig hedde noget andet.
Eksempel på en meget simpel global.asa Du skriver følgende på en side og gemmer den som global.asa (Hvis du erklærer variabler i application, vil samme variabel være fælles for alle brugere på samme tid!)
<SCRIPT LANGUAGE ="VBScript" RUNAT="SERVER">
Sub Application_OnStart
End Sub
Sub Session_OnStart Session("user") = "jimmy" Session("psw") = "4711" Session("logon") = False end Sub </SCRIPT>
Fandt ud af fejlen. Den side hvor koden er, er en inkluderingsfil. "Moder"-siden indeholdte en session.abandon. Det med at stirre sig blind sker tit for mig :-/
Ligger du ikke lige et svar, så får du nogle point for din indsats?
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.