06. september 2002 - 11:59Der er
15 kommentarer og 2 løsninger
Automatisk login som her på eksperten!
Jeg vil gerne at mine brugere skal kunne klikke i en checkbox, hvorefter de automatisk bliver logget ind næste gang de besøger siden.
Min side er bygget sådan op:
1)Default.asp
2)I default.asp har jeg min login koder liggende i en include fil, hvor jeg bruger "select case" - altså case bruger logget ind, så viser den et og case ikke logget ind, så viser den input felterne.
Hvordan/hvor laver jeg cookies som bruger bliver husket???
Jeg har dette, men ved ikke helt hvor jeg skal sætte det:
'hvis checkboxen er checked If Request.QueryString("checkbox") = "huskmig" Then 'så lav en cookie, der husker brugernavn Response.Cookies("huskbruger")("navn") = strBrugernavn 'få cookien til at eksistere i 2 år Response.Cookies("huskbruger").Expires = Date + 720 End If
Og den der skal hente brugeren:
'Koden til at logge en bruger ind, hvis cookien er der kunne så være: If Request.Cookies("huskbruger").HasKeys Then Session("Brugernavn") = Request.Cookies("huskbruger")("navn") End If
If Request.QueryString("checkbox") = "huskmig" Then 'så lav en cookie, der husker brugernavn Response.Cookies("huskbruger")("navn") = strBrugernavn Response.Cookies("huskbruger")("autologon") = Request.QueryString("autologon") 'få cookien til at eksistere i 2 år Response.Cookies("huskbruger").Expires = Date + 720 End If
Tjek Cookies
If Request.Cookies("huskbruger").HasKeys Then Session("Brugernavn") = Request.Cookies("huskbruger")("navn") Session("login")=Request.Cookies("huskbruger")("autologon") End If
IF session("login")="autologon" THen ' Bruger ER logget på, og vis da ok infor ELSE ' Bruger er ikke logget på End if
Jeg har ændret til <input type="checkbox" name="autologon" Value="autologon"> og sat koden ind som du kan se neden under, men hvordan skal jeg sætte dette ind????
IF session("login")="autologon" THen ' Bruger ER logget på, og vis da ok infor ELSE ' Bruger er ikke logget på End if
<% If Request.QueryString("checkbox") = "autologon" Then 'så lav en cookie, der husker brugernavn Response.Cookies("huskbruger")("navn") = strBrugernavn Response.Cookies("huskbruger")("autologon") = Request.QueryString("autologon") 'få cookien til at eksistere i 2 år Response.Cookies("huskbruger").Expires = Date + 720 End If
If Request.Cookies("huskbruger").HasKeys Then Session("Brugernavn") = Request.Cookies("huskbruger")("navn") Session("login")=Request.Cookies("huskbruger")("autologon") End If %>
<% If Session("logget_ind") <> "ja" Then %> <Form name="bruger" method="POST" action="logxx_db.asp?mode=login" style="margin:0px;">osv....</Form>
<% Else %>
<% If Session("logget_ind") = "ja" Then %>
<Form name="bruger_logaf" method="POST" action="logxx_db.asp?mode=logaf" style="margin:0px;"> osv...</Form> <% End If End If %>
Det var ikke meningen at du skulle slette: <input type="checkbox" name="checkbox" value="huskmig">
På den måde giver du jo stadig brugeren valget for om "du" må gemme hans information på hans PC.
Så det jeg forestiller mig er at du har en form med 2 checkboxes og ét tekstfelt: <FORM Action="tjekdata.asp"> <input type="checkbox" name="checkbox" value="huskmig"> <input type="checkbox" name="autologon" Value="autologon"> <input type="TEXT" name="brugernavn" value="Dit navn"> </FORM>
Når du så parser disse info's til ASP'en der skal behandle data, kan du gøre følgende: tjekdata.asp
<% If Request.QueryString("checkbox") = "huskmig" Then 'så lav en cookie, der husker brugernavn Response.Cookies("huskbruger")("navn") = Request.QueryString("brugernavn") Response.Cookies("huskbruger")("autologon") = Request.QueryString("autologon") 'få cookien til at eksistere i 2 år Response.Cookies("huskbruger").Expires = Date + 720
' Data er gemt. Og spring så til hoved siden: Response.Redirect("default.asp") ELSE 'Brugeren vil ikke gemme data, men skal vel stadig logges ind ?
Session("Brugernavn") = Request.QueryString("brugernavn") Session("login")="autologon" 'Bemærk bare fordi denne session variabel gemmes, så har brugeren ikke autologon næste gang ! End If
%>
Så er informationen gemt på hans PC.
-------------
Det næste du skal, er at tilføje tjek kode til din startside på WEB.
Denne skal tjekke om brugeren vil autologon ?
' her henter du cookies ind i session variabler
If Request.Cookies("huskbruger").HasKeys Then Session("Brugernavn") = Request.Cookies("huskbruger")("navn") Session("login")=Request.Cookies("huskbruger")("autologon") End If
' Her tjekker du om bruger har valgt autologon
IF session("login")="autologon" THen ' Bruger ER logget på, og vis da ok infor response.redirect("Home.asp") ' Eller anden direkte HTML kode.
ELSE ' Bruger er ikke logget på, og skal derfor vises login billedet eller siden response.redirect("Login.asp")
Jeg kan godt se hvad din mening er, men jeg kan ikke finde rundt i dine koder! Hvis jeg sender filen til dig, vil du så prøve at sætte det ind - så skal jeg nok give dig nogle flere point???
Jeg forstår ikke helt hvad du mener med om jeg vil have tjekket når brugeren besøger mig site.
Men det jeg gerne vil have lavet er, hvis brugeren klikker på checkboxen, så skal der skrives en cookie, som automatisk logger brugeren ind næste gang brugeren klikker ind på hjemmesiden..
Den side hedder default.asp men der hvor brugeren indtaster sine data, ligger som en include fil i default.asp som hedder <!--#include file="include/menu_bruger.asp" -->
Det er menu_bruger.asp som har checkboxen og indtastningsfelterne.
justdoit ! Jeg har lige kigget på det en gang til, og jeg må bakke ud.
Det kommer til at tage for lang tid for mig, og jeg har lige mit eget site jeg skal have op at stå !
Men systematikken i det jeg før har skrevet virker, for jeg bruger den selv.
Men jeg kan ikke holde styre på din logik (og den har vi jo alle heldigvis hver vores :-) af.). Det er bl.a. i menu_bruger hvor det ser ud som om at du er på vej med en løsning.
Skitser problemet op på et stykke papir og forløbet, så falder det hele på plads.
øv, så må jeg prøve et andet sted på eksperten! Men tak fordi du prøvede.
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.