Avatar billede canedo Nybegynder
23. oktober 2002 - 13:33 Der er 17 kommentarer og
1 løsning

Husk mig cookie

Jeg har lavet en checkbox som laver en husk mig cookie som den skal. Det virker fint.... men! Når man først HAR valgt, at man vil huskes, så bliver man også husket, selvom man næste gang logger på UDEN at vælge 'husk mig' jeg kan ikke se hvordan jeg løser dette problem.

Kan man skal lave en <% If Request.Form("checkbox") = "" then
'så skal cookien slettes

Hvordan sletter man en cookie?
Avatar billede canedo Nybegynder
23. oktober 2002 - 13:35 #1
hmm.. måske man kan sætte cookien til "" således...
Response.Cookies("cookie")("username") = ""
    Response.Cookies("cookie")("password") = ""
    Response.Cookies("cookie")("checkbox") = ""

eller findes der en bestemt måde at gøre det på?
Avatar billede pelkjaer Nybegynder
23. oktober 2002 - 13:38 #2
Hvordan ser din cookie ud?

Du kan i din cookie lave noget alá:

If Request.form("huskmig") ="1" Then
  bla.bla.

Else
  bla.bla

  End If
End If

og så

<input name="huskmig" type="checkbox" id="huskmig" value="1" <%If (Request.Cookies("huskmigCook") = "1") Then Response.Write("CHECKED") : Response.Write("")%>>
Avatar billede canedo Nybegynder
23. oktober 2002 - 13:40 #3
Jeg laver cookien på denne måde:
If Request.Form("gem") = "gem" then
    Response.Cookies("cookie")("username") = username
    Response.Cookies("cookie")("password") = password
    Response.Cookies("cookie")("checkbox") = "gem"
    Response.Cookies("cookie").Expires = Date+365
End if
Avatar billede pelkjaer Nybegynder
23. oktober 2002 - 13:42 #4
Brug denne her sammen med <input..> ovenover

<%
If cstr(Request.Form("bruger"))<>"" Then
  If Request.form("huskmig") ="1" Then
    Response.Cookies("brugerCook") = Request.Form("bruger")
    Response.Cookies("passCook") = Request.Form("pass")
    Response.Cookies("huskmigCook") = "1"
    Response.Cookies("brugerCook").expires = Date + 30
    Response.Cookies("passCook").expires = Date + 30
    Response.Cookies("huskmigCook").expires = Date + 30
  Else
    Response.Cookies("huskmigCook") = ""
    Response.Cookies("brugerCook") = ""
    Response.Cookies("passCook") = ""   
  End If
End If
%>
Avatar billede canedo Nybegynder
23. oktober 2002 - 13:43 #5
Og jeg henter den i et andet dokument således:
<%
username = Request.Cookies("cookieaakjaer")("username")
password = Request.Cookies("cookieaakjaer")("password")
checked = Request.Cookies("cookieaakjaer")("checkbox")
%>
<form method="post" action="log.asp">
BRUGERNAVN<br><input type="text" name="navn" value="<%=username%>"><br>
PASSWORD<br><input type="password" name="password" value="<%=password%>"><br>

<% If checked = "gem" then %>
<input name="gem" type="checkbox" value="gem" checked>Gem info?<br><br>
<% else %>
<input name="gem" type="checkbox" value="gem">Gem info?<br><br>
<% End If %>
<input type="submit" value="Login" class="knap">
</form>
Avatar billede canedo Nybegynder
23. oktober 2002 - 13:44 #6
okay.... tænkte nok det var sådan noget lignende. Jeg tester det lige...
Avatar billede canedo Nybegynder
23. oktober 2002 - 13:47 #7
Jeg får syntaxfejl ved Else

If Request.Form("gem") = "gem" then
    Response.Cookies("cookie")("username") = username
    Response.Cookies("cookie")("password") = password
    Response.Cookies("cookie")("checkbox") = "gem"
    Response.Cookies("cookie").Expires = Date+365
      Else
        Response.Cookies("cookie")("username") = ""
        Response.Cookies("cookie")("password") = ""
        Response.Cookies("cookie")("checkbox") = ""   
      End If
    End if
Avatar billede canedo Nybegynder
23. oktober 2002 - 13:52 #8
Undskyld, det er det SIDSTE 'else' i dette script hvor der er syntaxfejl:

<%
Dim username, password, strSQL, rs
username = replace(Request.Form("navn"),"'","")
password = replace(Request.Form("password"),"'","")

strSQL= "SELECT * FROM liste WHERE (Bruger = '" & username & "' AND Pass='" & password & "');"
Set rs = connect.Execute(strSQL)

if not rs.EOF then
  session("aakjaer") = "ind"
  session("brugerID") = rs("Id")
  session("brugerNavn") = rs("Navn")
  Session.Timeout = 60
  connect.Close
    If Request.Form("gem") = "gem" then
    Response.Cookies("cookieaakjaer")("username") = username
    Response.Cookies("cookieaakjaer")("password") = password
    Response.Cookies("cookieaakjaer")("checkbox") = "gem"
    Response.Cookies("cookieaakjaer").Expires = Date+365
      Else
        Response.Cookies("cookieaakjaer")("username") = ""
        Response.Cookies("cookieaakjaer")("password") = ""
        Response.Cookies("cookieaakjaer")("checkbox") = ""
      End If
    End if
Response.Redirect("in.asp")
else
  'Fejl i brugernavn eller password
  Response.Redirect("login.asp")
end if
else
    Response.Redirect("login.asp")
end if
%>
Avatar billede canedo Nybegynder
23. oktober 2002 - 13:58 #9
OK, nu er der ingen syntaxfejl, - jeg har lavet cookiescriptet sådan:
If Request.Form("gem") = "gem" then
    Response.Cookies("cookieaakjaer")("username") = username
    Response.Cookies("cookieaakjaer")("password") = password
    Response.Cookies("cookieaakjaer")("checkbox") = "gem"
    Response.Cookies("cookieaakjaer").Expires = Date+365
      If Request.Form("gem") = "" Then
        Response.Cookies("cookieaakjaer")("username") = ""
        Response.Cookies("cookieaakjaer")("password") = ""
        Response.Cookies("cookieaakjaer")("checkbox") = ""
      End If
    End if

MEN det virker stadig ikke, cookien husker stadig brugernavn og password.
Avatar billede pelkjaer Nybegynder
23. oktober 2002 - 14:01 #10
Du er jo nødt til at bruge

Response.Cookies("brugerCook") = Request.Form("bruger")

når du fra start bruger

If Request.Form("gem")
Avatar billede canedo Nybegynder
23. oktober 2002 - 14:04 #11
Forstår ikke helt, hvordan mener du?
Avatar billede zeptic Nybegynder
23. oktober 2002 - 14:05 #12
Prøv dette:

If Request.Form("gem") = "gem" then
  Response.Cookies("cookieaakjaer")("username") = username
  Response.Cookies("cookieaakjaer")("password") = password
  Response.Cookies("cookieaakjaer")("checkbox") = "gem"
  Response.Cookies("cookieaakjaer").Expires = Date+365
else
  Response.Cookies("cookieaakjaer")("username") = ""
  Response.Cookies("cookieaakjaer")("password") = ""
  Response.Cookies("cookieaakjaer")("checkbox") = "ikkegemt"
End If
Avatar billede canedo Nybegynder
23. oktober 2002 - 14:10 #13
cookien ændrer sig ikke, alt bliver stadig husket. Selvom jeg logger ind i en andens navn (pers2) i mellemtiden, så huskes person1 stadig næste gang jeg logger på.
Avatar billede canedo Nybegynder
23. oktober 2002 - 14:12 #14
HOV HOV HOV.... nu virker det. Havde glæmt at fjerne noget gammelt script, dette her virker perfekt:

If Request.Form("gem") = "gem" then
    Response.Cookies("cookieaakjaer")("username") = username
    Response.Cookies("cookieaakjaer")("password") = password
    Response.Cookies("cookieaakjaer")("checkbox") = "gem"
    Response.Cookies("cookieaakjaer").Expires = Date+365
      else
        Response.Cookies("cookieaakjaer")("username") = ""
        Response.Cookies("cookieaakjaer")("password") = ""
        Response.Cookies("cookieaakjaer")("checkbox") = "ikkegemt"
    End if
Avatar billede pelkjaer Nybegynder
23. oktober 2002 - 14:12 #15
Husker du af afkrydse og så krydse igen først?
Det skal du jo.
Avatar billede zeptic Nybegynder
23. oktober 2002 - 14:13 #16
Jeg sendte det da som svar og ikke kommentar. Hmmm.... sender lige som svar igen.
Avatar billede canedo Nybegynder
23. oktober 2002 - 14:17 #17
pelkjaer > du mener at jeg først skal checke uden afkrydsning, og efterfølgende MED afkrydsning :-) Det virker helt fint.
Avatar billede canedo Nybegynder
23. oktober 2002 - 14:18 #18
Tak for hjælpen!
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