Avatar billede litop Nybegynder
05. oktober 2004 - 23:02 Der er 11 kommentarer og
1 løsning

Hvem kender cookies?

MOJN jungs :-)

Hvis jeg skal tjekke om en cookie eksisterer - hvad gør jeg så?

Jeg har nemlig fået fikset noget autologin sammen, men jeg kan ikke logge ud igen. HVis jeg så sletter cookien i browseren, så melder siden fejl, fordi den mener at cookien stadig eksisterer.

Jeg har prøvet at udskrive cookien, men der skriver den ikke noget.

Jeg tjekker sådan her:
<%
If Request.Cookies("autologin")("brugernavn") <> "" then
'redirect
Else
'vis loginmenu
end if
%>

Hvorfor virker det bare ikke hos mig :'(

PLZ help

MVH - LITOP
Avatar billede eagleeye Praktikant
05. oktober 2004 - 23:05 #1
Umiddelbart virker det ikke at sætte cookien til "" men man kan sætte cookien til en "dummy" tekst og ændre udløbs datoen til en dato før i dag:

Response.Cookies("autologin")("brugernavn") = "xxx"
Response.Cookies("autologin").Expires = Date() - 1
Avatar billede eagleeye Praktikant
05. oktober 2004 - 23:18 #2
hvad gemmer du i cookien?

du kan evt prøve at skrive = "detdugemmer" i stedet for <> "":

If Request.Cookies("autologin")("brugernavn") = "detdugemmer" then


Hvilken fejl får du?
Avatar billede litop Nybegynder
05. oktober 2004 - 23:18 #3
Ok - det har jeg gjort nu...

Men den gør stadig det samme **** Den tror at den finder en cookie - Er det forkert sådan som jeg tjekker efter den?
Avatar billede eagleeye Praktikant
05. oktober 2004 - 23:23 #4
Nej det ser umiddelbart rigtigt ud, hvis du gemmer en bestemt tekst kan du jo prøve som vist.
Avatar billede litop Nybegynder
05. oktober 2004 - 23:33 #5
Det er ikke en rigtig fejl, men...

Der er vel tre muligheder:
1.: Brugeren aldrig været der før - Cookie må være tom
2.: Brugeren har brugt autologin - og logget ud, cookien må være tom eller være xxx
3.: Brugeren benytter stadig autologon
--------

Det som scriptet gør nu:
1.: Scriptet gør som om der er en cookie, og forsøger at logge brugeren ind
2.: samme som nummer 1
3.: Viser brugermenuen, men man kan ikke logge ud.
Avatar billede eagleeye Praktikant
05. oktober 2004 - 23:35 #6
Der hvor der står redirect hvad betyder det?
'redirect
Avatar billede eagleeye Praktikant
05. oktober 2004 - 23:37 #7
Er det "forsøg at logge ind" eller "vis brugermenuen"?
Avatar billede litop Nybegynder
05. oktober 2004 - 23:42 #8
<% if session("brugerid") <> "" then %>
'brugermenu
<% Else %>
<% If Request.Cookies("autologin")("brugernavn") <> "" OR Request.Cookies("autologin")("brugernavn") <> "xxx" then %>
<% response.redirect "login.asp?brugernavn=" & Request.Cookies("autologin")("brugernavn") %>
<% else %>
<form method="POST" action="login.asp" name="login">
<input name="brugernavn" size="15"><br>
<input name="password" size="15" type="password"><br>
<input type="checkbox" name="autologin" value="ON">
<input type="submit" value="Login" name="ok">
</form>
<%
End If
End If
%>
Avatar billede eagleeye Praktikant
05. oktober 2004 - 23:44 #9
Så skal du bruge AND og ikke OR:

<% If Request.Cookies("autologin")("brugernavn") <> "" AND Request.Cookies("autologin")("brugernavn") <> "xxx" then %>
Avatar billede litop Nybegynder
05. oktober 2004 - 23:51 #10
Så siger jeg mange tak - Helt hvorfor forstår jeg ikke, men nu virker det :-)
Avatar billede eagleeye Praktikant
05. oktober 2004 - 23:56 #11
Ok ;)

Grunden til det skal være and er fordi den kun skal redicte hvis cookien ikke er tom og ikke er lig med xxx.

Som først skrevet virker det ikke at sætte cookien til "" når man sletter den. Når man så sætte den til "xxx" og tjekker kort tid efter er den måske ikke helt slette endnu og man får så værdien "xxx". Cookies har det med at drille lidt :)
Avatar billede litop Nybegynder
05. oktober 2004 - 23:58 #12
Godt nok for mig - Tusind tak :-)
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