08. maj 2003 - 12:16Der er
23 kommentarer og 1 løsning
Session - virker ikke altid
Hej!
Jeg har problemer med en side hvor jeg laver en session. Denne side sender videre til en side, der tjekker om der findes denne session. på nogle computere virker det, på andre ikke...
<%
' Hvis der er blevet trykket pë knappen "Login" IF Request.Form("login") = "LOGIN" THEN
' Her forberedes de indtastede v/rdier til validering strUID = Trim(Replace(Request.Form("mobilnr"),"'","")) strPWD = Trim(Replace(Request.Form("kode"),"'",""))
' Hvis der er skrevet noget i bëde brugernavn og adgangskode IF Len(strUID) > 0 AND Len(strPWD) > 0 THEN
' Forbindelse til databasen SET Conn = Server.CreateObject("ADODB.Connection") Conn.open strConn
' Opbygning af SQL streng strSQL = "SELECT besmart_id, navn FROM besmart WHERE mobilnr = '" & strUID & "' AND password = '" & strPWD & "' " SET rs = Conn.execute(strSQL)
IF NOT (rs.BOF OR rs.EOF) THEN ' Hvis brugeren fandtes i databasen intUID = rs("besmart_id") navn = rs("navn")
ELSE ' Hvis brugeren ikke fandtes i databasen strERR = "Du blev ikke genkendt af systemet, login igen." END IF
IF intUID <> "" THEN ' Hvis variablen intUID indeholder en v/rdi s/ttes denne i sessionen "login" og brugeren bliver sendt videre Session("login") = intUID Session("navn") = navn besmart_id = intUID
' Rydder op i vores connection objekt Conn.Close SET Conn = NOTHING
Response.Redirect("secure.asp") END IF ELSE ' Hvis der ikke var angivet brugernavn og adgangskode strErr = "Du skal udfylde begge felter." END IF
IF Len(strErr) > 0 THEN ' Her laves fejlmeddelsen til html strErr = "<p>" & strErr & "</p>" END IF END IF %> HER ER SIDE 2 - PÅ NOGLE COMPUTERE SKRIVES DER "Fejl" ANDRE GANGE "Ok"..
det hele fungerer egentlig - men på nogle computere findes der bare intet i session("login") - selvom coockies er slået til... der sker det samme som hvis jeg slår coockies fra på min computer hvor det ellers virker...
jeg har brugt samme kode på en anden side, og der fungerer det helt fint for alle.
sessions og cookies er to forskellige ting. Så vidt jeg kan se bruger du ikke cookies. En session er kun tilgængig så længe browseren er åben eller default 20 minuter hvis ikke du bruger maskinen.
Det er ikke det jeg mener. Du skriver at du bruger samme kode på en anden side. Hvis din session også hedder login der kan det jo have indflydelse på resultatet
Jeg fundet ud af at der er 2 slags cookies. Der er den almindelige og så er der en memory cookie (den som asp bruger) Sidstnævnte tillades tilsyneladende selvom cookies er blocked.
inden du testede om det virkede, lukkede du vel browseren og startede en ny! Når du siger samme kode virker på en anden side er det lidt begrænset hvad fejlen kan være. Det MÅ være noget med session variabler der hedder det samme, eller siden bliver gemt i cachen eller noget i den stil.
For at forhindre at siden bliver gemt i cachen kan du smide de her linier ind øverst på siden.
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.