Artiklar » ASP » Automatisk inloggning.

 
 

Automatisk inloggning.

Författare: akerlundh
Datum: den 28 april 2003
Antal lästa: 8288
Ej stjärnmärkt

Automatisk inlogging!

Då behöver du ju en databas.
Databasens namn ska va "databas" och tabellens namn ska va "users"
Kolumn / Datatyp / Beskrivning:
anv / Text / Alla användare.
pass / Text / Allas lösenord

Då börjar vi med sidan sidan ska heta login.asp
Kod:

<html>
<head>
<title>Inloggnings sidan</title>
</head>
<body>

<%

' Öppnar databasen.
  Set Con = Server.CreateObject("ADODB.Connection")
  Con.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("databas.mdb")&";"

' Öppnar RecordSet med kontroll på en cookie.
  SQL = "SELECT * FROM users WHERE anv='"& Request.Cookies("anv") &"' AND pass='"& Request.Cookies("pass") &"'"
  set RecSet = con.execute(sql)

' Kontrollerar om det finns några inloggade.
  If RecSet.EOF Then

%>

<form method="POST" action="login.asp?action=login"><br><br>Anv:<br>
<input type="text" name="anv" size="20" value="<%=Request.Cookies("anv")%>"><br>Pass:<br>
<input name="pass" size="20" type="password"><br>
<input type="submit" value="Login" name="login"><br>
</form>

<%
' Om inte, isåfall skapar den session och då blir man inloggad.

  Else
  session.timeout = 30
  Session("inloggad") = "True"
  Session("anv") = request.form("anv")

  Response.Redirect("main.asp")

  End If

  RecSet.close : set RecSet = nothing

' Här är inloggningen från formuläret.
  If Request.QueryString("action") = "login" Then

' Kontrollerar om inloggningen stämmer.
  SQL = "SELECT * FROM users WHERE anv='"& Request.Form("anv") &"' AND pass ='"& Request.Form("pass") &"'"
  Set RS = Con.execute(SQL)

' Om det är fel inloggingen skriver den ut de.
  If RS.EOF Then
  Response.write("Fel anv eller lösenord.")
  Else

' Om inloggningen är rätt, skapar kakan och sessionen.
  Response.Cookies("anv") = "" & request.form("anv") &""
  Response.Cookies("pass") = "" & request.form("pass") &""

  session.timeout = 30
  Session("inloggad") = "True"
  Session("anv") = request.form("anv")

  Response.Redirect("main.asp")
  End if

  RS.close : set RS = nothing

  End if

' Om du är inloggad, och trycker på logga ut då tar den bort kakan.
  If Request.QueryString("tabort") = "kakan" Then

  Response.Cookies("pass").Expires = now
  Session.abandon
  Response.Redirect("login.asp")

  End if

  con.close : Set con = Nothing

%>

</body>
</html>


Så nu har vi gjort login.asp
Här har vi "main.asp" sidan man kommer till när man är inloggad.

Kod:

// Kontrollerar att man är inloggad, annars får man logga in igen.
<!--#INCLUDE FILE="online.asp"-->

<html>
<head>
<title>Du är nu inloggad</title>
</head>

<body>

Du är nu inloggad.<br><br>

// Här skapar vi länken till utloggningen.
<a href="login.asp?tabort=kakan">Loggat</a>

</body>
</html>


Här är sidan "online.asp" som kontrollerar om användaren är inloggad annars skickas personen tillbaka till inloggningen.

Kod:
<%

  If Not Session("inloggad") = "True" Then
  Response.Redirect "login.asp"
  End If

%>


Hoppas att du får nytta av artikeln.

OBS: Om användaren inte vill bli automatiskt inloggad efter han/hon har loggat in
så måsta han/hon logga ut genom att trycka på loggat i filen main.asp

/ Mikael Åkerlundh
 
     

  » Logga in  
 
Användarnamn

Lösenord

 
     

  » Bli medlem  
  Bli medlem på ASPsidan!  
     

     
  Microsoft  
     

  » Partners  
  Comsolvia  
     
  » ANNONS  
  ingen annons än  
     

  » Senast online  
  Endast för inloggade  
  Antal inloggade: 1  
     

Copyright © 2007 www.ASPsidan.se
ingen sponsrar längre ASPsidan med Dedikerad Server
ASPsidan RSS
   
 XHTML / CSS
Det tog 0,5313 sekunder att ladda sidan