Panelen



Forumnavigering
Senast inloggade
RSS
Sponsorer
Artiklar > ASP

Enkel inloggning utan databas

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 If

Det ä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)

Kommentarer

Pettersoft sa den 31 december 2007 kl 11:13:
Bra jobbat, ska testas ;)
Pettersoft sa den 31 december 2007 kl 11:18:
Fungerar inte.. =/
Yasa sa den 31 december 2007 kl 11:39:
Finns redan hur många inloggningar utan databas som helst ;)
Gimbergsson sa den 31 december 2007 kl 13:40:
Yasa: javisst, men inte på den här sidan :)
Yasa sa den 31 december 2007 kl 16:43:
Okej :D..bara för det ska jag lägga upp minst 3 inloggningssätt med html/php och utan mysql/ngn databas. Men kan man regga sig på din script/kod/artikel? asså jag menar går det o regga sig? sparas allt i en .txt fil då eller hur då?
Gimbergsson sa den 31 december 2007 kl 17:02:
nej det är bara baserat på en session. det är ungefär samma i php.
© Copyright 2007-2009 Shadi Domat | Version 3.0 | Sidkarta | Policy