05. april 2001 - 15:25Der er
17 kommentarer og 1 løsning
cookie til login
Davs - jeg har lavet et lille admin-modul, og selvom det egentligt kun er mig der skal bruge det har jeg lavet et login (Username, Password)... Og det er sådan set godt nok!
Men nu er jeg sq blevet træt af at skulle indtaste det hver gang (håbløs - I know :-) så derfor - kan man ikke lave en cookie-ting og evt. en tjek-boks (husk mine informationer)...
Menøh... hvordan?! Husk venligst at login er lavet, så det er \"bare\" cookie-delen jeg er interesseret i. Og helst på den måde at man ikke automatisk logges ind (sendes videre til loggedin.asp) - men blot at felterne ér udfyldt med ens info (username, password) på login siden - så man kun skal trykke på login-knappen!
Nogen der ved hvordan? Har sådan en kode liggende?!
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
If Request.Form(\"husk\") = \"jada\" Then Response.Cookies(\"Username\").Expires = \"01-01-2002\" Response.Cookies(\"Username\") = Request.Form(\"Username\") Response.Cookies(\"Password\").Expires = \"01-01-2002\" Response.Cookies(\"Password\") = Request.Form(\"Password\") End IF
Altså, på det sted i din kode hvor du behandler de informationer (username og password) fra formularen skal dette være:
If Request.Form(\"husk\") = \"jada\" Then Response.Cookies(\"Username\").Expires = \"01-01-2002\" Response.Cookies(\"Username\") = Request.Form(\"Username\") Response.Cookies(\"Password\").Expires = \"01-01-2002\" Response.Cookies(\"Password\") = Request.Form(\"Password\") End IF
Men det forudsætter at dine formfelter hedder Username og Password.
Hvis det ikke virker, kan du så ikke prøve med lidt mere kode?
If Request.Form(\"husk\") = \"jada\" Then Response.Cookies(\"Username\").Expires = \"01-01-2002\" Response.Cookies(\"Username\") = Request.Form(\"Username\") Response.Cookies(\"Password\").Expires = \"01-01-2002\" Response.Cookies(\"Password\") = Request.Form(\"Password\") End IF
Skal stå øverst i din kode, inden der er udkrevet noget til browseren.
Jovist - kode - værsgod! (og jeg fordobler i øvrigt gladeligt pointene - hvis det kan komme til at virke!)
Flg. er den kode der indtil nu bruges til at behandle formularen (og de hedder godt nok Username og Password):
<% listeResWords = (\"%,*,?,&,¤,½,@,(,),{,},[,]$,£,§,1,2,3,4,5,6,7,8,9,0\") arrResWords = split(listeResWords,\",\") Username = request.form(\"Username\") for i = 0 to ubound(arrResWords) if instr(Username,arrResWords(i)) then response.write (\"<meta http-equiv=\"\"refresh\"\" content=\"\"0;URL=default.asp\"\">\") else Username = Username end if next %> <% listeResWords = (\"%,*,?,&,¤,½,@,(,),{,},[,]$,£,§,1,2,3,4,5,6,7,8,9,0\") arrResWords = split(listeResWords,\",\") Password = request.form(\"Password\") for i = 0 to ubound(arrResWords) if instr(Password,arrResWords(i)) then response.write (\"<meta http-equiv=\"\"refresh\"\" content=\"\"0;URL=default.asp\"\">\") else Password = Password end if next %> <%Set RS = server.CreateObject(\"ADODB.connection\") RS.open ConnString SQL = \"SELECT * FROM Users where Username = \'\" & Username & \"\' and Password = \'\" & Password & \"\'\" Set RS = RS.Execute(SQL) if RS.EOF then session(\"Login\") = false response.write (\"<meta http-equiv=\"\"refresh\"\" content=\"\"0;URL=default.asp\"\">\") else
If Request.Form(\"husk\") = \"jada\" Then Response.Cookies(\"Username\").Expires = \"01-01-2002\" Response.Cookies(\"Username\") = Request.Form(\"Username\") Response.Cookies(\"Password\").Expires = \"01-01-2002\" Response.Cookies(\"Password\") = Request.Form(\"Password\") End IF
for i = 0 to ubound(arrResWords) if instr(Username,arrResWords(i)) then response.write (\"<meta http-equiv=\"\"refresh\"\" content=\"\"0;URL=default.asp\"\">\") else Username = Username end if next
for i = 0 to ubound(arrResWords) if instr(Password,arrResWords(i)) then response.write (\"<meta http-equiv=\"\"refresh\"\" content=\"\"0;URL=default.asp\"\">\") else Password = Password end if next
Set RS = server.CreateObject(\"ADODB.connection\") RS.open ConnString SQL = \"SELECT * FROM Users where Username = \'\" & Username & \"\' and Password = \'\" & Password & \"\'\" Set RS = RS.Execute(SQL) if RS.EOF then session(\"Login\") = false response.write (\"<meta http-equiv=\"\"refresh\"\" content=\"\"0;URL=default.asp\"\">\") else
No dice - når jeg afkrydser \"husk\" (som jeg har valgt at kalde \"Remember\" og value =\"Yes\") så vil den ikke logge ind - men får altså flg. fejlmeddelelse:
jeg har surfet lidt rundt og fundet en forklaring på den fejlmeddelelse - og har faktisk fået det til at virke!
Men pr. default står min oplysninger i tekst-felterne nu. Og de skulle jo kun blive stående hvis \"husk mine informationer\" var afkrydset - ellers ikke.
Hmm... Måske <% if Request.Cookies(\"Remember\")=True Then Response.write \"checked\" End If%>> fortjener sit eget spørgsmål - og du fortjener dine point!
Tak for hjælpen
Synes godt om
Ny brugerNybegynder
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.