Avatar billede Meggel Novice
29. marts 2004 - 16:02 Der er 26 kommentarer og
1 løsning

autologin husker brugernavn og pass

Den husker password og brugernavn. men du skal trykke på enter knappen før den logger ind.. kan man fixe så den ikke gør ud af det jeg har her ?


siden hvor man logger ind --->

<%
if lcase(Request.Cookies("login")("gem")) = "ja" then
  navn = Request.Cookies("login")("brugernavn")
  pass = Request.Cookies("login")("password")
  else
  navn = "Brugernavn"
  pass = "password"
end if
%>

<form method="post" action="login.asp">
<input type="hidden" name="send1" value="send1">
Brugernavn:<br>
<input name="FBruger" size="14" id=Login  style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BACKGROUND: #cccccc; FONT: bold 10px verdana; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" onFocus="this.value=''" value="<%=navn%>">
Password:<br>
<input type="password" name="FPass" size="14"    style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BACKGROUND: #cccccc; FONT: bold 10px verdana; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" id=Password value="<%=pass%>" onFocus="this.value=''"><br>
<% response.Write request.QueryString("loginskriv") %><br>
<INPUT style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BACKGROUND: #cccccc; FONT: bold 10px verdana; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" type=submit value=Enter!> <br>
<input type="checkbox" value="gemmig" name="huskmig">Husk mig<br>
<a href="default.asp?id=opretbruger">Opret bruger</a>
</form>


login.asp --->


<%
if request("send1") <> "" then
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("Database/brugerdatabasen.mdb")
Conn.Open DSN

Dim Bruger, Pass
Bruger = Trim(Request.Form("FBruger"))
Pass = Trim(Request.Form("FPass")))
SQL = "SELECT * FROM Tuser WHERE (FBruger = '"& Bruger &"')"
set rs = conn.execute(SQL)
'Undersøg om det er det rigtigt Password og send til loginsiden hvis det er forkert ellers sender den til Lektiesiden.
If rs.EOF Then
  response.redirect "default.asp?loginskriv=Forkert brugernavn"
elseif rs("FPass") = pass Then
    if rs("godkendt") = "2" Then
          if rs.fields("brugerlevel") = "1" then
          session("loginoki") = Bruger
          Session("forumbruger") = "Member"
      elseif rs.fields("brugerlevel") = "2" then
            session("loginoki") = Bruger
          Session("forumadmin") = "Forum admin"
          Session("kanaltiverden") = "daadminnegerpikneger"
          Session("ID") = rs("id")
      elseif rs.fields("brugerlevel") = "3" then
            session("loginoki") = Bruger
          Session("daadminbruger") = "über admin"
          Session("kanaltiverden") = "daadminnegerpikneger"
          Session("ID") = rs("id")
      end if
      if Request.Form("huskmig") = "gemmig" then
  'Gem cookien
  Response.Cookies("login")("brugernavn") = Request.Form("FBruger")
  Response.Cookies("login")("password") = Request.Form("FPass")
  Response.Cookies("login")("gem") = "ja"
  Response.Cookies("login").Expires = Date+365
else
    Response.Cookies("login")("brugernavn") = " XX "
    Response.Cookies("login")("password") = "XX"
    Response.Cookies("login")("gem") = "nej"
    Response.Cookies("login").Expires = Date-365
end if
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("Database/brugerdatabasen.mdb")
Conn.Open DSN
sql = "UPDATE Tuser set Sonline = '"&now()&"' where FBruger = '" & session("loginoki") & "'"
set rs = conn.execute(sql)
set rs = nothing
response.redirect "default.asp?id=bruger1&bruger="&Bruger&""
    Else
      response.redirect "default.asp?loginskriv=Brugeren er ikke aktiveret"
    end if

Else
  response.redirect "default.asp?loginskriv=Forkert password"
end if
end if
%>
Avatar billede -mundi- Nybegynder
29. marts 2004 - 16:14 #1
<%
if lcase(Request.Cookies("login")("gem")) = "ja" then
  navn = Request.Cookies("login")("brugernavn")
  pass = Request.Cookies("login")("password")
  dim script : script="<script type=""text/javascript"">document.forms[0].submit()</script>"
  else
  navn = "Brugernavn"
  pass = "password"
end if
%>

<form method="post" action="login.asp">
<input type="hidden" name="send1" value="send1">
Brugernavn:<br>
<input name="FBruger" size="14" id=Login  style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BACKGROUND: #cccccc; FONT: bold 10px verdana; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" onFocus="this.value=''" value="<%=navn%>">
Password:<br>
<input type="password" name="FPass" size="14"    style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BACKGROUND: #cccccc; FONT: bold 10px verdana; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" id=Password value="<%=pass%>" onFocus="this.value=''"><br>
<% response.Write request.QueryString("loginskriv") %><br>
<INPUT style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BACKGROUND: #cccccc; FONT: bold 10px verdana; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" type=submit value=Enter!> <br>
<input type="checkbox" value="gemmig" name="huskmig">Husk mig<br>
<a href="default.asp?id=opretbruger">Opret bruger</a>
</form>
<%=script%>


er den hurtige løsning, kræver at brugeren ikke har slået javascript fra
Avatar billede thomas_yde Nybegynder
29. marts 2004 - 16:27 #2
<%
if lcase(Request.Cookies("login")("gem")) = "ja" then
  navn = Request.Cookies("login")("brugernavn")
  pass = Request.Cookies("login")("password")
  Server.Transfer "login.asp"
  else
  navn = "Brugernavn"
  pass = "password"
end if
%>

<form method="post" action="login.asp">
<input type="hidden" name="send1" value="send1">
Brugernavn:<br>
<input name="FBruger" size="14" id=Login  style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BACKGROUND: #cccccc; FONT: bold 10px verdana; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" onFocus="this.value=''" value="<%=navn%>">
Password:<br>
<input type="password" name="FPass" size="14"    style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BACKGROUND: #cccccc; FONT: bold 10px verdana; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" id=Password value="<%=pass%>" onFocus="this.value=''"><br>
<% response.Write request.QueryString("loginskriv") %><br>
<INPUT style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BACKGROUND: #cccccc; FONT: bold 10px verdana; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" type=submit value=Enter!> <br>
<input type="checkbox" value="gemmig" name="huskmig">Husk mig<br>
<a href="default.asp?id=opretbruger">Opret bruger</a>
</form>


login.asp --->


<%
if navn <> "" and pass <> "" Then
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("Database/brugerdatabasen.mdb")
Conn.Open DSN

Dim Bruger, Pass
Bruger = navn
Pass = pass
SQL = "SELECT * FROM Tuser WHERE (FBruger = '"& Bruger &"')"
set rs = conn.execute(SQL)
'Undersøg om det er det rigtigt Password og send til loginsiden hvis det er forkert ellers sender den til Lektiesiden.
If rs.EOF Then
  Response.Cookies("login")("gem") = ""
  response.redirect "default.asp?loginskriv=Forkert brugernavn"
Else
  if rs("FPass") = pass Then
    if rs("godkendt") = "2" Then
          if rs.fields("brugerlevel") = "1" then
          session("loginoki") = Bruger
          Session("forumbruger") = "Member"
      elseif rs.fields("brugerlevel") = "2" then
            session("loginoki") = Bruger
          Session("forumadmin") = "Forum admin"
          Session("kanaltiverden") = "daadminnegerpikneger"
          Session("ID") = rs("id")
      elseif rs.fields("brugerlevel") = "3" then
            session("loginoki") = Bruger
          Session("daadminbruger") = "über admin"
          Session("kanaltiverden") = "daadminnegerpikneger"
          Session("ID") = rs("id")
      end if
End If
End If


if request("send1") <> "" then
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("Database/brugerdatabasen.mdb")
Conn.Open DSN

Dim Bruger, Pass
Bruger = Trim(Request.Form("FBruger"))
Pass = Trim(Request.Form("FPass")))
SQL = "SELECT * FROM Tuser WHERE (FBruger = '"& Bruger &"')"
set rs = conn.execute(SQL)
'Undersøg om det er det rigtigt Password og send til loginsiden hvis det er forkert ellers sender den til Lektiesiden.
If rs.EOF Then
  response.redirect "default.asp?loginskriv=Forkert brugernavn"
elseif rs("FPass") = pass Then
    if rs("godkendt") = "2" Then
          if rs.fields("brugerlevel") = "1" then
          session("loginoki") = Bruger
          Session("forumbruger") = "Member"
      elseif rs.fields("brugerlevel") = "2" then
            session("loginoki") = Bruger
          Session("forumadmin") = "Forum admin"
          Session("kanaltiverden") = "daadminnegerpikneger"
          Session("ID") = rs("id")
      elseif rs.fields("brugerlevel") = "3" then
            session("loginoki") = Bruger
          Session("daadminbruger") = "über admin"
          Session("kanaltiverden") = "daadminnegerpikneger"
          Session("ID") = rs("id")
      end if
      if Request.Form("huskmig") = "gemmig" then
  'Gem cookien
  Response.Cookies("login")("brugernavn") = Request.Form("FBruger")
  Response.Cookies("login")("password") = Request.Form("FPass")
  Response.Cookies("login")("gem") = "ja"
  Response.Cookies("login").Expires = Date+365
else
    Response.Cookies("login")("brugernavn") = " XX "
    Response.Cookies("login")("password") = "XX"
    Response.Cookies("login")("gem") = "nej"
    Response.Cookies("login").Expires = Date-365
end if
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("Database/brugerdatabasen.mdb")
Conn.Open DSN
sql = "UPDATE Tuser set Sonline = '"&now()&"' where FBruger = '" & session("loginoki") & "'"
set rs = conn.execute(sql)
set rs = nothing
response.redirect "default.asp?id=bruger1&bruger="&Bruger&""
    Else
      response.redirect "default.asp?loginskriv=Brugeren er ikke aktiveret"
    end if

Else
  response.redirect "default.asp?loginskriv=Forkert password"
end if
end if
%>
Avatar billede thesurfer Nybegynder
29. marts 2004 - 16:29 #3
Jeg ville også gøre som thomas_yde gør..
Dog ville jeg bruge response.redirect "side.asp" i stedet for server.transfer..

Hvis fruth skifter til en server med Chilli!ASP, kan han/hun ikke bruge server.transfer :-)
Avatar billede thomas_yde Nybegynder
29. marts 2004 - 16:39 #4
DU skal nok lige have det sidste med det fik jeg ikke.
Det med aktiveringen, men håber du fangede pointen
Avatar billede thomas_yde Nybegynder
29. marts 2004 - 16:40 #5
Det er korrekt thesurfer.
...husk det fruth
Avatar billede Meggel Novice
29. marts 2004 - 16:43 #6
det virker ikke helt.. den stopper i login.asp og sender mig ingen steder hen.. når jeg bruger response.redirect "login.asp"
Avatar billede Meggel Novice
29. marts 2004 - 16:44 #7
og når jeg bruger server.transfer laver den nogle underlig ting..
Avatar billede thomas_yde Nybegynder
29. marts 2004 - 16:46 #8
Det jeg skrev sender dig KUN afsted hvis du har adgangskode HUSKET og de er forkerte.
Ikke hvis de er rigtige, det laver du først til sidst.

Det var bare en løsning uden om at klikke ok.
Avatar billede thesurfer Nybegynder
29. marts 2004 - 16:46 #9
i response.redirect "side.asp" skal "side.asp" *ikke* være login siden :-)
Det skal bare være en eller anden side.. man skal jo ikke se login siden, hvis man er logget ind :-)
prøv med forsiden i stedet..
Avatar billede Meggel Novice
29. marts 2004 - 16:47 #10
øhh jeg er ikke helt med ?
Avatar billede thomas_yde Nybegynder
29. marts 2004 - 16:48 #11
Du skal også passe på at du ikke ender i et loop.
Avatar billede Meggel Novice
29. marts 2004 - 16:53 #12
navn = Request.Cookies("login")("brugernavn")
pass = Request.Cookies("login")("password")

skal jeg ikke sæt det ind i toppen af login.asp ?? det virker lidt mere med det
Avatar billede thomas_yde Nybegynder
29. marts 2004 - 16:57 #13
jo hvis du bruger redirect
Avatar billede thesurfer Nybegynder
29. marts 2004 - 16:57 #14
Når man har skrevet korrekt brugernavn+kodeord, skal den checke om der er kryds i "huskmig". Hvis der *er* kryds i "huskmig", skal brugernavn+kodeord gemmes i cookie.

Det er *kun* hvis der er kryds i "huskmig", at der skal gemmes i cookie!
Avatar billede Meggel Novice
29. marts 2004 - 16:58 #15
bliver den også..
Avatar billede thesurfer Nybegynder
29. marts 2004 - 16:59 #16
Nej, hvis der bruges res.redic "side.asp" (eller svr.trans) skal der ikke bruges:
navn = Request.Cookies("login")("brugernavn")
pass = Request.Cookies("login")("password")

Det giver jo ingen mening, at oprette nogle variabler, når man alligevel skifter side, hvor de så mistes :-)
Avatar billede Meggel Novice
29. marts 2004 - 17:01 #17
jamen altså det virker nu.. så jeg er glad..
Avatar billede thomas_yde Nybegynder
29. marts 2004 - 17:01 #18
Den sender vel ikke variabler med over når du bruger res.redirect
server.transfer sender derimod alt med til næste side.

Eller er det mig der er *kuk*
Avatar billede thesurfer Nybegynder
29. marts 2004 - 17:06 #19
Der er 2 måder at sende "ting" med til anden side:
1) method="get": sender "ting" via urlen
2) method="post": sender "ting" via formen

Begge metoder sker ved at en form submittes. Man kan dog godt selv bruger <a href="side.asp?noget=andet">..

Da der ikke skal sendes "ting" med til næste side, skal der ikke lægges noget i variablerne, da formen ikke submittes.. :-)

Altså, "navn=" og "pass=" er overflødige :-)

Den skal checke om gem=ja:
Hvis den er,
  send brugeren videre
ellers
  vis formen så brugere kan logge end
slut Hvis
Avatar billede thomas_yde Nybegynder
29. marts 2004 - 17:09 #20
Men formen bliver aldrig læst i den her.

1) ASP compiler siden.
2) Den requester
3) Hvis Den ser at der findes en cookie
3a) Den sender brugeren videre til login.asp
5) Den opbygger siden

den bygger aldrig formen for brugeren hvis den redirecter / transfer.
Derfor hvis han brugere redirect, som ikke sender information med, SKAL han requeste variablernde igen.
Transfer derimod sender variabler med til næste side.

Derfor virker det for ham hvis han requester variablerne igen.
Avatar billede thesurfer Nybegynder
29. marts 2004 - 17:13 #21
Hvis han vil vide hvem det er, der er logget ind, skal han bare bruge Session :-)
Det er jo det det bruges til (bl.a.) :-)

Se her: http://html.dk/tutorials/asp/lektion12.asp
Avatar billede thomas_yde Nybegynder
29. marts 2004 - 17:35 #22
hehe thesurfer.
Jeg tror vi snakker forbi hinanden :)
Avatar billede thomas_yde Nybegynder
29. marts 2004 - 17:35 #23
Anyways godt det virker.
Avatar billede Meggel Novice
29. marts 2004 - 17:38 #24
jeg takker for hjælper thomas yde---
Avatar billede thomas_yde Nybegynder
29. marts 2004 - 17:40 #25
thesurfer du får lige lidt point du var også med.
Men tak fruth
Avatar billede thesurfer Nybegynder
29. marts 2004 - 17:44 #26
Hvis nogen er interesseret i det, så får jeg points her: http://www.eksperten.dk/spm/483415
Avatar billede Meggel Novice
29. marts 2004 - 17:59 #27
jeg takker bare for at i gad hjælpe mig..
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