Avatar billede andymax Nybegynder
21. september 2000 - 13:35 Der er 11 kommentarer og
1 løsning

server-side cookies vs. client-side cookies

Kan det passe at server-side cookies ikke kan overskrive clientside cookies? Første gang det her script kører er der ikke noget galt men når man så refresher (F5) har man et problem!!

<HTML>
<HEAD>
<SCRIPT language=vbscript>
function SetCookie(strKey, strValue)
    document.cookie=strKey & \"=\" & strValue
End Function

Function GetCookie(strKey)
    Dim intLoc
    intLoc = Instr(Document.Cookie, strKey)
    If intLoc = 0 Then
        GetCookie = \"\"
    Else
        Dim sTemp
        sTemp = Right(Document.Cookie, Len(Document.Cookie) - intLoc +1)
        Dim intKeyLen
        intKeyLen = Len(strKey)
       
        If Mid(sTemp, intKeyLen + 1,1) <> \"=\" Then
            GetCookie = \"\"
        Else
            Dim intNextSep
            intNextSep = InStr(sTemp, \";\")
            If intNextSep = 0 Then intNextSep = Len(sTemp) +1
            If intNextSep= (intKeyLen +2) Then
                GetCookie = \"\"
            Else
                Dim intValLen
                intValLen = intNextSep - intKeyLen -2
                GetCookie = Mid(sTemp, intKeyLen + 2, intValLen)
            End If
        End If
    End If
End Function

Sub window_onload
    MsgBox GetCookie(\"RUNAT\")
    SetCookie \"RUNAT\", \"CLIENT\"
    Msgbox GetCookie(\"RUNAT\")
End Sub
-->
</SCRIPT>
</HEAD>
<BODY>
<%     Response.Cookies(\"RUNAT\") = \"SERVER\" %>
</BODY>
</HTML>
Avatar billede mjess Nybegynder
21. september 2000 - 14:03 #1
Hvad går der galt?

/mjess
Avatar billede andymax Nybegynder
21. september 2000 - 14:30 #2
man kan ikke overskrive en clientside cookie med en server-side cookie!
Avatar billede mjess Nybegynder
21. september 2000 - 15:25 #3
Nej det kan jeg se...

Der sker det, at der bliver oprettet to cookies med samme \"strKey\" (\"RUNAT\") - det kan du se ved at lave din window_onload lidt om:

Sub window_onload
    MsgBox Document.Cookie
    MsgBox GetCookie(\"RUNAT\")
    SetCookie \"RUNAT\", \"CLIENT\"
    Msgbox GetCookie(\"RUNAT\")
End Sub

/mjess
Avatar billede andymax Nybegynder
21. september 2000 - 15:48 #4
Yup! Det er jeg klar over.....men det burde jo ikke kunne lade sig gøre?
Avatar billede mjess Nybegynder
21. september 2000 - 16:22 #5
Er din asp-side placeret i rodbibloteket på webserveren?
Avatar billede mjess Nybegynder
21. september 2000 - 16:40 #6
... jeg ahr nemlig prøvet din kode i henholdsvis rodbiblioteket og i et underbibliotek.

Hvis det er placeret i rodbiblioteket, virker det umiddelbart efter hensigten.

jeg har en mistanke om at den default \"path\" property på cookien bliver sat forskelligt alt efter om det er serveren eller browseren, der laver cookien.
Avatar billede andymax Nybegynder
21. september 2000 - 18:01 #7
Hmm...næh....den ligger faktisk i en virtuel path...! Jeg prøver lige!
Avatar billede mjess Nybegynder
22. september 2000 - 12:47 #8
Virker det?
Avatar billede andymax Nybegynder
25. september 2000 - 01:15 #9
Det virker.....1000 tak for hjælpen!!
Avatar billede andymax Nybegynder
25. september 2000 - 01:18 #10
Hvorfor er det liiige at jeg ikke kan komme til at give point? :(
Avatar billede mjess Nybegynder
25. september 2000 - 09:49 #11
Det er fordi jeg først svarer nu ... :-)
Avatar billede andymax Nybegynder
25. september 2000 - 13:48 #12
:o))
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