Avatar billede mikze Nybegynder
22. juni 2004 - 13:22 Der er 19 kommentarer og
1 løsning

Cookie med HUSK ?

Et lille simpelt spørgesmål er hvordan man laver det der HUSK altså hvor man sætter et lille flueben i et felt og så husker den brugernavn og kode og er automatisk logget ind fremover? Ligesom her på eksperten fx?
Avatar billede mikze Nybegynder
22. juni 2004 - 13:38 #1
hjææææælp! :S
Avatar billede steen_hansen Forsker
22. juni 2004 - 13:42 #2
Du skal lave formularen, og derefter kode din cookie. Jeg har benyttet 3 option-buttons på en side: Log automatisk ind, Husk mig, Vil ikke huskes:

Select Case Request("autologin")
    Case "autologin"
        Response.Cookies("MyDomain")("username") = Session("username")
        Response.Cookies("MyDomain").Path = "/includefamily/"
        Response.Cookies("MyDomain").Expires = Now + 365
        Response.Cookies("MyDomain")("autologin") = "true"
        Response.Cookies("MyDomain")("username") = Session("username")
        Response.Cookies("IncludeFamily")("pass") = RS("pass")
    Case "remember"
        Response.Cookies("MyDomain")("username") = Session("username")
        Response.Cookies("MyDomain").Path = "/includefamily/"
        Response.Cookies("MyDomain").Expires = Now + 365
        Response.Cookies("MyDomain")("autologin") = ""
        Response.Cookies("MyDomain")("username") = Session("username")
        Response.Cookies("MyDomain")("pass") = RS("pass")
    Case Else
        Response.Cookies("MyDomain").Expires = Now
        Response.Cookies("MyDomain")("autologin") = ""
        Response.Cookies("MyDomain")("username") = ""
        Response.Cookies("MyDomain")("pass") = ""
End Select
Avatar billede roenving Novice
22. juni 2004 - 13:45 #3
<script language="javascript" type="text/javascript">
function skrivHusk(elm){
  var f = elm.form;
  var navn = f.navn.value;
  var pass = f.pass.value;
  var exp = (!elm.checked)?1:new Date().getTime()+ 365*24*60*60*1000;
  exp = new Date(exp).toGMTString();
  var cook = huskCookie + " = " + escape(navn+"#"pass) + ";expires=" + exp + ";path=/";
  document.cookie = cook;
}
</script>

<form name="login" action="login.php" method="post">
Navn: <input type="text" name="navn"><br>
Password: <input type="password" name="pass"><br>
Jeg vil godt huskes: <input type="checkbox" name="husklogin" onclick="skrivHusk(this)">
</form>

-- så kan du server-side aflæse cookien og viderestille automatisk !-)
Avatar billede roenving Novice
22. juni 2004 - 13:47 #4
-- du skal selvfølgelig validere dit input, men det var også mere ideen ...

-- og steen_hansen har jo taget fat i server-side-tingen !-)
Avatar billede steen_hansen Forsker
22. juni 2004 - 13:49 #5
Ja, den forudsætter ASP :o)
Avatar billede mikze Nybegynder
22. juni 2004 - 13:50 #6
Skal man bruge PHP til roenvings version :S ?
Avatar billede mikze Nybegynder
22. juni 2004 - 13:51 #7
steen hansen jeg forstår ikke noget af dit script :) Har ikke rørt javascript specielt. Ved stort set kun lidt om vinduer og at det skal starte med <script language="JavaScript"> mener jeg :)

Forklar forklar :P
Avatar billede mikze Nybegynder
22. juni 2004 - 13:51 #8
Skal man bruge ASP til roenvings version :S ?


Det skulle der have stået :P
Avatar billede roenving Novice
22. juni 2004 - 13:53 #9
Næh, jeg har bare kun vist client-side-delen ...

-- og den forudsætter en aflæsning server-side, og det kan laves i en hvilkensomhelst server-side programmering !-)

-- men det kan skrives server-side, som steen viser det -- også f.eks. i php ...
Avatar billede steen_hansen Forsker
22. juni 2004 - 13:53 #10
Nej, roenvings forslag er JavaScript. Mit forslag kræver, at du har et webhotel med ASP V3.0 (Active Server Pages)
Avatar billede steen_hansen Forsker
22. juni 2004 - 13:55 #11
Ja, roenvings indlæg er til den formular, som brugeren skal vælge sine indstillinger i :o)
Avatar billede mikze Nybegynder
22. juni 2004 - 14:01 #12
okaaay? :S

<script language="javascript" type="text/javascript">
function skrivHusk(elm){
  var f = elm.form;
  var navn = f.navn.value;
  var pass = f.pass.value;
  var exp = (!elm.checked)?1:new Date().getTime()+ 365*24*60*60*1000;
  exp = new Date(exp).toGMTString();
  var cook = huskCookie + " = " + escape(navn+"#"pass) + ";expires=" + exp + ";path=/";
  document.cookie = cook;
}
</script>

<form name="login" action="login.php" method="post">
Navn: <input type="text" name="navn"><br>
Password: <input type="password" name="pass"><br>
Jeg vil godt huskes: <input type="checkbox" name="husklogin" onclick="skrivHusk(this)">
</form>



Bare sådan og så skulle det virke? Altså med den der JEG VIL GODT HUSKES og sådan?
Avatar billede roenving Novice
22. juni 2004 - 14:34 #13
Nej, du skal også have noget server-side, som kan aflæse cookien, men det er et spørgsmål, som hører under det server-side sprog/arkitektur du bruger ...

Man kan godt lave en redirecting client-side, men så vil brugeren opleve, at siden skifter, når man kommer ind, og da det kan laves uden problemer server-side er det jo bedst at undgå !-)
Avatar billede mikze Nybegynder
22. juni 2004 - 19:07 #14
svar :)
Avatar billede thesurfer Nybegynder
22. juni 2004 - 19:18 #15
Man kan sagtens lave "auto-login" via JavaScript, med roenvings kode. Hvis felterne er synlige, vil man kunne se, at de bliver udfyldt, lige inden formen automatisk submittes, plus at man ser at siden skifter. Så det er ikke helt umuligt.

Den "normale" måde, er at bruge noget serverside scriptsprog, som f.eks. PHP ell ASP, som steen_hansen har gjort.
Serversiden er den sikreste løsning, men kræver at serveren understøtter sproget.
Avatar billede mikze Nybegynder
28. juni 2004 - 15:47 #16
:S
Avatar billede thesurfer Nybegynder
28. juni 2004 - 19:35 #17
mikza> Hvad laver du?

roenving> Ang 22/06-2004 13:45:21: Jeg mener ikke at man kan aflæse en cookie, på serversiden, når cookien er sat på klientsiden.
Jeg ved dog ikke, om det kan lade sig gøre, med JSP (men i ASP og PHP kan det vist ikke).
Avatar billede roenving Novice
28. juni 2004 - 19:40 #18
Det må være et spørgsmål om at sætte den rigtige path og det rigtige domæne på cookien !-)
Avatar billede steen_hansen Forsker
28. juni 2004 - 21:22 #19
Ih, hvor er jeg glad for, at I er kommet ind på lige nøjagtigt dét emne! :o) Jeg har også et spørgsmål vedr. cookies på www.mydomain.dk og www.mydomain.dk/mappe1
Avatar billede thesurfer Nybegynder
29. juni 2004 - 16:10 #20
klient/server cookies: http://www.webreference.com/programming/javascript/vbscript/
Så det kan man godt :-)
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