Avatar billede riishoj Nybegynder
25. august 2004 - 17:09 Der er 4 kommentarer og
1 løsning

Session fejler periodisk

Jeg har en login-fil som sætter en session. Denne session opfører sig underligt, da den virker somme tider og somme tider ikke. Problemet opstår, når jeg bevæger mig til en anden side via et link på den passwordbeskyttede side. Når jeg så vil tilbage til den passwordbeskyttede side, så lykkes det somme tider, men de fleste gange får jeg login-formen igen. Hvis jeg prøver flere gange så lykkes det måske, så det virker som om min session ikke bliver sat ordentligt. Loginfilen ser sådan ud:

strUsername = Trim(Replace(Request.Form("username"),"'",""))
strPassword = Trim(Replace(Request.Form("password"),"'",""))
strSQL ="SELECT * FROM hovedlogin WHERE UCase(username) = '" & UCase(strUsername) & "' AND UCase(Password) = '" & UCase(strPassword) & "'"
set rs = Conn.execute(strSQL)
if not rs.EOF then
response.write rs("username")
end if
'først tjekke om brugeren findes ved at tjekke om recordsetet er tomt.
if not rs.EOF then
  if LCase(rs("username")) = LCase(strUsername) then
    'LOGIN OK
    session("brugernavn") = LCase(strUsername)
  session("userID") = rs("Id")
  Response.Redirect("../default.asp")
  else
    'INGEN BRUGER FUNDET
    'Eller en blev fundet men databasen bruger navn passer ikke med det
    'indtastede brugernavn
  end if
else
'brugeren ikke fundet lave det som skal ske hvis brugeren ikke er fundet her
response.write "<p align=center><font color=black  face=verdana size=3><b>Forkert brugernavn eller password.<br> Prøv igen.</b></p><br>"
end if

og den session, som bliver sat på den passwordbeskyttede side, ser sådan ud:

<% 'hvis session("userID") er tom så er man ikke logget ind.
if session("userID") = "" then
  Response.Redirect"hovedlogin/loginform.asp"
Else
%>

Kan nogen se hvad der er galt?
Avatar billede tdh1309 Juniormester
27. august 2004 - 09:13 #1
Et skud fra hoften kunne være at din session udløber, hver gang du reloader en side i den session nulstilles tiden og du har derefter x minutter tilbage af din session. Det kunne måske forklare hvorfor det virker nogle gange...
Du kan prøve at tilføje:
response.write("Session timeout in: " & Session.Timeout)
Du ændrer tiden ved: Session.Timeout=30

Hvis dette ikke forklaringen - prøver vi noget nyt !
Avatar billede riishoj Nybegynder
27. august 2004 - 12:13 #2
Næ, det kan ikke være forklaringen. Det kan også ske, hvis jeg kun lige har kigget i kort tid på den anden side. Har checket med min udbyder og session på serveren er sat til standard, altså 20 min.
Avatar billede riishoj Nybegynder
27. august 2004 - 14:37 #3
Det viste sig at være en serverfejl, hvilket jeg over for min udbyder havde påpeget. De kunne ikke umiddelbart se en sammenhæng, men det betaler sig altså at være stædig.
Avatar billede knico Nybegynder
10. august 2005 - 18:13 #4
riishoj>>Jeg har samme problem i øjeblikket. Ved du hvad server-fejlen var?

Mvh
Kaj
Avatar billede riishoj Nybegynder
10. august 2005 - 19:09 #5
Desværre, det kan jeg simpelthen ikke huske :-(
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