Hej! Det är säkert så att sessionsvariablerna försvinner, detta inträffar antingen om besökaren har varit inaktiv eller om applikationen på webservern startas om. Gissar att du råkar ut för det senare. Inte helt ovanligt med shared hosting där de ofta startar om applikationerna pga att en del användare kodar dåligt (script som hänger sig eller minnesläckage). Kolla med ditt webhotell om det är så. Om de inte kan fixa det, eller flytta dig till en stabilare server så är det nog bara att byta hotel eller koda om sidorna att inte använda sig av den inbyggda sessionshanteringen. Det senare är det nog inte. Kolla loggarna på servern så att IIS inte startat om applikationen, om det inte är pga inaktivitet så antar jag att det är det det beror på. Hej! Man använder s.k. "sessioncookies", som spara sparas så länge webläsaren hålls öppen, det brukar de flesta tillåta. Har för mig man sätter något speciellt expiredate på cookien, minns dock inte exakt vad. Det är precis samma metod som sessionsobjektet använder, fungerar det så fungerar även denna metoden. "Det är precis samma metod som sessionsobjektet använder, fungerar det så fungerar även denna metoden." Nja, ditt problem är troligtvis att sessionerna försvinner från servern medans session-cockien finns kvar på klienten. Om du istället sparar dina variabler i t.ex. en databas och identifierar användaren med en sessioncockie så borde problemet vara löst.Inloggning på ASP-sidor
Jag har nu råkat ut för skumma saker.
Har Dreamweaver som jag kodar vissa sidor med. Där finns enkla sätt att bli inloggad mha vissa kodsnuttar och sen kolla om man är inloggad eller inte på sidorna.
Så långt är allt bra. Det fungerar lokalt på min dator och på vårt intranät på jobbet.
På vår Internet-server däremot blir det mycket oftare fel och användarna "tappas bort" och deras sessioner dör och de kastas därför ur sidorna och det blir allmänt skumma fel som ser ut att tyda på att sessionsvariablerna inte räcker så länge som man vill, utan man blir utkastad. En del råkar ut för detta men inte alla. Vilken inställning på deras dator/webbläsare kan det då vara som gör att just de får problemen men inte andra?
Hur gör man egentligen för att skapa ett "idiotsäkert" inloggningssystem där man inte behöver bry sig om webbläsare, skript aktiverat eller inte, cookies aktiverat eller inte osv?
Jag kodar nu i klassisk ASP mot en Access-bas men det var samma mot en MS SQL förut.
Tacksam för alla tips.
Mvh
/ PerSv: Inloggning på ASP-sidor
/JohanSv:Inloggning på ASP-sidor
Jag talar om en egen server på mitt jobb. Har skapat en egen webb åt sidorna och har inga andra störande sidor där.
Dessutom kan det bli fel nästan direkt man loggat in. Alltså inte efter en tid av inaktivitet...
Fråga: vad menar du med "koda om sidorna att inte använda sig av den inbyggda sessionshanteringen"? Exempel???
/ PerSv: Inloggning på ASP-sidor
Istället för att använda sessionsobjektet kan du skapa en egen sessionshantering där du lagrar "sessionsvariablerna" i t.ex. en databas och håller koll på besökaren med cookies (precis som sessionsobjektet). Databasen töms inte vid omstart av applikationen, alltså får du inte de problemen.
I ASP.NET finns det stöd för fler lagringstyper av sessionerna än "in process", känner inte till att det finns något liknande som standard i ASP.
/JohanSv:Inloggning på ASP-sidor
Tyvärr hittar jag inget i loggarna om några omstarter. Det hade ju varit kul om det vore så enkelt...
Om man skall spara i en databas och använda cookies, vad händer då om användarna ej tillåter cookies? Kan ju skriva att om cookies är av så kommer det inte att fungera, men... man vill ju vara användarvänlig och kanske hitta något sätt som alltid fungerar... Men finns det?
Mvh
/ PerSv: Inloggning på ASP-sidor
JohanSv:Inloggning på ASP-sidor
Men om jag har problem med att sessionsvariabler försvinner/dör, då borde det här alltså också få problem? Eller?
/ PerSv: Inloggning på ASP-sidor
Men egentligen ska det inte behövas, sessionerna ska inte försvinna. Jag har dock inget konkret tips på vad det kan vara. Förr eller senare kommer det dock att inträffa att IIS startar om applikationen och då hjälper det bara med att göra som jag föreslog, men det ska inte behöva inträffa så ofta.
/Johan