Avatar billede vraa Nybegynder
07. august 2004 - 13:09 Der 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.

Er der nogen der kan forklare dette?
Avatar billede boris Mester
07. august 2004 - 13:18 #1
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.
Avatar billede boris Mester
07. august 2004 - 13:20 #2
Gør det f.eks. til allersidst på den side, hvor de får ny værdi samt i starten af den side, hvor det går galt. Osv.
Avatar billede vraa Nybegynder
07. august 2004 - 13:23 #3
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.
Avatar billede boris Mester
07. august 2004 - 14:21 #4
Kunne du evt. vise noget kode på side 2 og 3?
Avatar billede vraa Nybegynder
07. august 2004 - 14:22 #5
Det skal lige understreges at det kun er testet localhost og ikke på en server. Hvis der kan være nogle forskelle her.
Avatar billede boris Mester
07. august 2004 - 14:22 #6
Jeg har ALDRIG oplevet at variabler forsvinder af sig selv, men alle kan stirre sig blinde på en ting
Avatar billede boris Mester
07. august 2004 - 14:30 #7
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
Avatar billede boris Mester
07. august 2004 - 14:33 #8
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.
Avatar billede vraa Nybegynder
07. august 2004 - 14:45 #9
Hvordan erklærer man disse variabler i global.asa? Har aldrig prøvet det.
Avatar billede boris Mester
07. august 2004 - 14:51 #10
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>
Avatar billede vraa Nybegynder
07. august 2004 - 15:00 #11
er det ikke asp.net?
Avatar billede boris Mester
07. august 2004 - 15:04 #12
Det er fra længe før nogen tænkte på asp.net, det er rigtig ASP næsten siden stenalderen
Avatar billede vraa Nybegynder
07. august 2004 - 15:06 #13
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?
Avatar billede boris Mester
07. august 2004 - 15:14 #14
Ja, der kan man se.
Man kan ikke undgå bøffer i ASP,men så er det om at gå systematisk frem ved fejlfinding.
Avatar billede vraa Nybegynder
07. august 2004 - 15:44 #15
Svar
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

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger leder til Lokal IT Servicecenter i Holstebro

Politiets Efterretningstjeneste

Fullstack softwareudvikler i PET

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Solution Manager til Cyberdivisionen