I den här artikeln tänkte jag visa hur du gör en mycket simpel inloggning utan databas. Vi kommer att använda oss av en session för att kolla om man är inloggad eller inte.
Det första vi gör är att skapa en ny html fil, jag döpte min till Default.asp och den ser ut såhär.
<html>
<head>
<title>Min inloggning</title>
</head>
<body>
</body>
</html>
Titeln kan du ändra till vad du vill, vårat innehåll kommer att ligga mellan body taggarna. Nu ska vi skapa koden för att kolla om man är inloggad, om man är det kommer man att se en logga ut knapp annars kommer man att se inloggningen.
<%
'// Kollar om inloggninen är OK, om den är det skriver vi ut logga ut knappen
If Session("inloggad") = "ok" Then
Response.Write "<a href=""Default.asp?do=loggaut"">Logga ut</a>"
'// Om inte så skriver vi ut inloggningen
Else
With Response
.Write "<form method=""post"" action=""Default.asp?do=loggain"">"
.Write "Användarnamn: <input type=""text"" name=""anvnamn""><br>"
.Write "Lösenord: <input type=""password"" name=""losenord""><br><br>"
.Write "<input type=""submit"" value=""Logga in"">"
.Write "</form>"
End With
End If
%>
Det är själv koden, varför har jag skrivit With Response .Write osv osv. Jo det är inte lika jobbigt som att skriva Response.Write på varje rad, tycker jag i alla fall, du får självklart göra som du vill.
Så, nu har vi våran inloggning och utloggningsknapp. Vi lägger in våran asp kod mellan Body taggarna, när vi gjort det bör våran Default.asp sida se ut ungefär såhär.
<html>
<head>
<title>Min inloggning</title>
</head>
<body>
<%
'// Kollar om inloggninen är OK, om den är det skriver vi ut logga ut knappen
If Session("inloggad") = "ok" Then
Response.Write "<a href=""Default.asp?do=loggaut"">Logga ut</a>"
'// Om inte så skriver vi ut inloggningen
Else
With Response
.Write "<form method=""post"" action=""Default.asp?do=loggain"">"
.Write "Användarnamn: <input type=""text"" name=""anvnamn""><br>"
.Write "Lösenord: <input type=""password"" name=""losenord""><br><br>"
.Write "<input type=""submit"" value=""Logga in"">"
.Write "</form>"
End With
End If
%>
</body>
</html>
Det ser bra ut. Nu ska vi skriva koden som gör att vi blir inloggade, vi ska kolla om input fälten stämmer med de värden vi väljer.
If Request.QueryString("do") = "loggain" Then
'// Det här är värdena vi ska kolla, vi lägger dom i variablar
strAnv = "admin" '/ Användarnamnet
strLos = "admin"' / Lösenordet
'// Här kollar vi om de stämmer och om de gör det så sätter vi sessionen inloggad till OK och skickar vidare besökaren till startsidan
If Request.Form("anvnamn") = strAnv And Request.Form("losenord") = strLos Then
Session("inloggad") = "ok"
'// Om värdena inte stämmer så skickar vi tillbaka besökaren till startsidan utan att ställa in sessionen
Else
End If
Response.Redirect "Default.asp"
End If
Bra, nu har vi våran inloggning, den lägger vi in strax under våran andra asp kod som vi skrivit. Din Default.asp bör nu se ut som min.
<html>
<head>
<title>Min inloggning</title>
</head>
<body>
<%
'// Kollar om inloggninen är OK, om den är det skriver vi ut logga ut knappen
If Session("inloggad") = "ok" Then
Response.Write "<a href=""Default.asp?do=loggaut"">Logga ut</a>"
'// Om inte så skriver vi ut inloggningen
Else
With Response
.Write "<form method=""post"" action=""Default.asp?do=loggain"">"
.Write "Användarnamn: <input type=""text"" name=""anvnamn""><br>"
.Write "Lösenord: <input type=""password"" name=""losenord""><br><br>"
.Write "<input type=""submit"" value=""Logga in"">"
.Write "</form>"
End With
End If
If Request.QueryString("do") = "loggain" Then
'// Det här är värdena vi ska kolla, vi lägger dom i variablar
strAnv = "admin" '/ Användarnamnet
strLos = "admin"' / Lösenordet
'// Här kollar vi om de stämmer och om de gör det så sätter vi sessionen inloggad till OK och skickar vidare besökaren till startsidan
If Request.Form("anvnamn") = strAnv And Request.Form("losenord") = strLos Then
Session("inloggad") = "ok"
'// Om värdena inte stämmer så skickar vi tillbaka besökaren till startsidan utan att ställa in sessionen
Else
End If
Response.Redirect "Default.asp"
End If
%>
</body>
</html>
Sådär, nu bör man kunna logga in på sidan. Men man måste kunna logga ut också och det gör vi på det här viset.
If Request.QueryString("do") = "loggaut" Then
'// "Överge" sessionen och skicka vidare till startsidan
Session.Abandon()
Response.Redirect "Default.asp"
End IfDet är en väldigt enkel kod. Nu borde vi vara utloggade också, det är all kod du behöver skriva för att få en fungerande inloggning.
Din Default.asp bör nu se ut som min.
<html>
<head>
<title>Min inloggning</title>
</head>
<body>
<%
'// Kollar om inloggninen är OK, om den är det skriver vi ut logga ut knappen
If Session("inloggad") = "ok" Then
Response.Write "<a href=""Default.asp?do=loggaut"">Logga ut</a>"
'// Om inte så skriver vi ut inloggningen
Else
With Response
.Write "<form method=""post"" action=""Default.asp?do=loggain"">"
.Write "Användarnamn: <input type=""text"" name=""anvnamn""><br>"
.Write "Lösenord: <input type=""password"" name=""losenord""><br><br>"
.Write "<input type=""submit"" value=""Logga in"">"
.Write "</form>"
End With
End If
If Request.QueryString("do") = "loggain" Then
'// Det här är värdena vi ska kolla, vi lägger dom i variablar
strAnv = "admin" '/ Användarnamnet
strLos = "admin"' / Lösenordet
'// Här kollar vi om de stämmer och om de gör det så sätter vi sessionen inloggad till OK och skickar vidare besökaren till startsidan
If Request.Form("anvnamn") = strAnv And Request.Form("losenord") = strLos Then
Session("inloggad") = "ok"
'// Om värdena inte stämmer så skickar vi tillbaka besökaren till startsidan utan att ställa in sessionen
Else
End If
Response.Redirect "Default.asp"
End If
If Request.QueryString("do") = "loggaut" Then
'// "Överge" sessionen och skicka vidare till startsidan
Session.Abandon()
Response.Redirect "Default.asp"
End If
%>
</body>
</html>
Det var nog allt, kommer väl att skriva flera artiklar om jag orkar/har lust.
Nu har du nog förstått hur du gör en enkel inloggning, de mer avancerade inloggningarna kräver att man använder en databas och kollar om värdena stämmer överens med någon rad i databasen. Det finns en artikel om inloggning med databas på aspkoll redan, jag länkar till den här.
http://www.aspkoll.se/ArticlesRead.asp?id=81
Edit:
Det fanns en liten miss vid utloggningsknappen, det är nu åtgärdat!
// Mvh Gimbergsson
Skapades: 2007-12-31 00:56:30
Skribent: Gimbergsson
Lästs 2681 gånger
Betyg: 0 (artikeln har endast 1 röster, det krävs minst 5 för ett betyg)