Avatar billede sapworld Nybegynder
16. december 2004 - 14:34 Der er 6 kommentarer og
1 løsning

cookie i asp login script

Hej
Nogen der kan hjælpe mig med at lægge en cookie ind i nedenstående script, så det huskes næste gang brugeren kommer, men kun hvis de klikker en check box af?

<%
if Request("username") <> "" and Request("password") <> "" then
  strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../DB/bruger.mdb")
    Set myConn = Server.CreateObject("ADODB.Connection")
    myConn.Open strDSN
  strSQL = "SELECT * FROM user where (username = '" & replace(Request("username"),"'","''") & "') and (password ='" & replace(Request("password"),"'","''") & "')"
  Set ez = myConn.Execute(strSQL)
  if not ez.eof then
    'Log ind
    Session("login") = "yes mate"
    Session("UserID") = ez("ID")
    Session("Password") = ez("password")
    session("UserName") = ez("username")
    EZ.Close
    myConn.Close
    Response.Redirect "result.asp"
  else
    'Ikke godkendt
    Session("login") = ""
    error = "Du blev ikke godkendt af systemet"
  end if
end if
%>

Formen på samme side:
<form action="index.asp" method="post">
<p align="left">
<font size="1" face="Arial">Username (email):<br>
<input type="text" id="startfelt" name="username" size="20"> <br>
<br>
Password:</font><br>
<input type="password" name="password" size="20"><br>
<input type="submit" value="Log in"> <br><br>
<font size="1" face="Arial"><b><%=error%></b)</font>
</p>
</form>

Hilsen

Kim
Avatar billede baitianlong Nybegynder
16. december 2004 - 15:11 #1
<%
if Request.Cookies("login") = "ok" then
Response.redirect "result.asp"
end if
if Request("username") <> "" and Request("password") <> "" then
  if Request("cookiefest") then
      Response.Cookies("login") = "ok"
      Response.Cookies("login").Expires = date() + 100
  end if
  strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../DB/bruger.mdb")
    Set myConn = Server.CreateObject("ADODB.Connection")
    myConn.Open strDSN
    ............

Password:</font><br>
<input type="password" name="password" size="20"><br>
Husk login? <input type="checkbox" name="cookiefest"><br>
Avatar billede sapworld Nybegynder
16. december 2004 - 15:37 #2
Jeg får denne fejl:
Microsoft VBScript runtime error '800a000d'
Type mismatch: '[string: "ON"]'

Skal der ikke være en kommando der opretter cookien?

/Kim
Avatar billede baitianlong Nybegynder
16. december 2004 - 15:43 #3
Det er fordi denne linie:

if Request("cookiefest") then

skal være

if Request("cookiefest") <> "" then

:)

Cookien bliver sat her:

if Request("cookiefest") then
      Response.Cookies("login") = "ok"
      Response.Cookies("login").Expires = date() + 100
  end if
Avatar billede sapworld Nybegynder
16. december 2004 - 15:58 #4
Ahh Ok :)

Er det muligt at gemme brugernavn og password i cookien, så det automatisk bliver udfyldt.
Avatar billede baitianlong Nybegynder
16. december 2004 - 16:07 #5
Ja, men denne løsning sender automatisk brugeren videre. Var det ikke det, den skulle?

Det andet du vil have, kræver lidt omrokering af if/else'erne i scriptet. Men du kan gemme hvad du vil i en cookie, så kan du skrive:

Response.Cookies("brugernavn") = Request("brugernavn")
Response.Cookies("adgangskode") = Request("adgangskode")
Response.Cookies("login").Expires = date() + 100

Jeg har vist dig hvordan du henter dem (Request.Cookies(variabel)) Så det skulle du nok kunne fikse :)
Avatar billede sapworld Nybegynder
16. december 2004 - 16:14 #6
Yep - nu virker det sørme.
Tak for hjælpen :)
/Kim
Avatar billede baitianlong Nybegynder
16. december 2004 - 18:22 #7
Selv 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