Avatar billede jgrantzau Nybegynder
08. maj 2003 - 12:16 Der 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"..

<%

IF NOT session("login") <> "" THEN

'response.redirect("default.asp")
response.write "Fejl"

ELSE

besmart_id = Session("login")
response.write "ok"
END IF
%>

hvad sker der???
Avatar billede jgrantzau Nybegynder
08. maj 2003 - 12:19 #1
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.
Avatar billede cesil Nybegynder
08. maj 2003 - 12:27 #2
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.
Avatar billede dk_akj Nybegynder
08. maj 2003 - 12:28 #3
Sessions og cookies har altså ikke noget med hinanden at gøre.

Er det ikke fordi der ikke er indtastet korrekt brugerid + password ??

//akj
Avatar billede cesil Nybegynder
08. maj 2003 - 12:29 #4
Så hvis ikke det virker er det nok fordi brugeren skal logge på hver gang, hvor man med cookies kan undgå det.
Avatar billede excession Nybegynder
08. maj 2003 - 12:34 #5
sessions og cookies HAR noget med hinanden at gøre

du kan ikke gemme oprette sessions hvis brugeren har slået cookies fra..
Avatar billede jgrantzau Nybegynder
08. maj 2003 - 12:34 #6
cesil: det ved jeg. men det burde vel virke så....

akj: den går kun videre hvis der er indtastet rigtig brugerid+password.
Avatar billede jgrantzau Nybegynder
08. maj 2003 - 12:36 #7
excession: ja - serveren opretter selv en coockie på computeren
Avatar billede cesil Nybegynder
08. maj 2003 - 12:41 #8
Prøv og skriv den her ud og tjek din tabel. Det ku jo være at brugeren ikke findes i tabellen.
Avatar billede dk_akj Nybegynder
08. maj 2003 - 12:44 #9
Hvis sessions og cookies har noget med hinanden at gøre vil jeg da meget gerne vide hvordan det hænger sammen.

//akj
Avatar billede excession Nybegynder
08. maj 2003 - 12:51 #10
Brugeren skal have slået cookies til for at du kan oprette sessions...

Sessions er egentlig Session cookies

http://asp.mediahost.org/sessions.html
Avatar billede jgrantzau Nybegynder
08. maj 2003 - 12:51 #11
alt med bruger oplysninger og password er helt ok ..... problemet er at der ikke bliver oprettet eller findes nogen session på nogle computere.

man kan ikke bruges sessions hvis coockies er slået fra !
Avatar billede cesil Nybegynder
08. maj 2003 - 12:53 #12
Hvis det er rigtigt må du kunne kontrollerer om sessions er slået til på de maskiner hvor det ikke virker. Hvis ikke har du jo løsningen.
Avatar billede jgrantzau Nybegynder
08. maj 2003 - 12:54 #13
som jeg siger: jeg har brugt samme kode på en anden side, og der fungerer det helt fint for alle.
Avatar billede cesil Nybegynder
08. maj 2003 - 13:02 #14
Bruger du også samme session navn på siderne?
Måske session("login") bliver sat på en anden side og derfor nogen gange er sand.
Avatar billede excession Nybegynder
08. maj 2003 - 13:19 #15
hvad bruger du egentlig besmart_id = intUID variablen til?
Avatar billede jgrantzau Nybegynder
08. maj 2003 - 13:28 #16
cesil:
side 1:
Session("login") = intUID
Side 2:
IF NOT session("login") <> "" THEN

excession: den bruger jeg bare på side 1. ligegyldigt..
Avatar billede cesil Nybegynder
08. maj 2003 - 13:38 #17
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
Avatar billede dk_akj Nybegynder
08. maj 2003 - 13:39 #18
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.

//akj
Avatar billede jgrantzau Nybegynder
08. maj 2003 - 15:25 #19
cesil: det virker ikke selvom jeg kalder min session noget andet....

akj; ok - så fik vi styr på det ;)
Avatar billede dk_akj Nybegynder
08. maj 2003 - 15:27 #20
Jeg har lavet en meget simpel side her:
Prøv at blokere cookies og test siden.

http://www.eybye-kjaer.dk/uploads/files/ses.asp

//akj
Avatar billede cesil Nybegynder
08. maj 2003 - 16:25 #21
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.

Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1
Avatar billede terry Ekspert
01. juni 2003 - 13:15 #22
jgrantzau>Please respond to this question http://www.eksperten.dk/spm/329915
Avatar billede terry Ekspert
03. juni 2003 - 19:56 #23
seems your having the same probelms with jgrantzau as us others :o)
Avatar billede jgrantzau Nybegynder
14. juli 2004 - 13:52 #24
-
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