---
title: "Logga in.."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/45453-logga-in"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "sin_adec"
published: "2002-06-08T11:38:41.000Z"
updated: "2002-06-08T20:51:46.000Z"
replies: 5
views: 258
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/45453-logga-in"
---

# Logga in..

## #1 — sin_adec, 2002-06-08T11:38Z

Hej!
alla programmerare & webbdesigners..
jag försöker skapa ett inloggninssystem... förstår inte vad som är fel..
jag har 2 konton i databasen...  men det uppstår fel.. bara den som högst upp på databasen kan logga in..
fattar inte varför.. så här ser min kod..

```
<% Dim Con
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("test.mdb") &";pwd="

SQL ="Select * from test"
Set Recset = Con.Execute(SQL)
%>

<% if recset("anv") = request.form("anv") AND recset("losen") = Request.form("losen") then

session("id") = recset("id")
response.redirect "visa.asp"

recset.close
	Set recset = nothing
Con.Close
	Set Con = nothing
Else
response.redirect "skriv.asp"

%>
<% end if %>
```

det finns 2 medlemmar som jag har skapat för att testa..
men det är bara 
användare 1 som kan logga in..

```
ID                 Anv           Losen
1                 123             123
2                 321             321

alltså det är bara medlem "1" som kan logga in...
why
```

Permalänk: https://www.webforum.nu/p/45453

## #2 — aleborg, 2002-06-08T11:42Z

SQL ="Select \* from test Where Anv='"& Replace(request.form("anv"), "'", "''") &"' And Losen='"& Replace(request.form("losen"), "'", "''") &"'"

Permalänk: https://www.webforum.nu/p/691368

## #3 — LR^evil.sid, 2002-06-08T20:19Z

vad händer om användaren inte finns i databasen?

```
[red]<% Dim Con
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("test.mdb") &";pwd="

SQL ="Select * from test"
Set Recset = Con.Execute(SQL)

do while not recset.eof = true

if recset("anv") = request.form("anv") AND recset("losen") = Request.form("losen") then

session("id") = recset("id")

exit do

Else
recset.movenext

end if

loop

recset.close
	Set recset = nothing
Con.Close
	Set Con = nothing 

if len ( session ( "anv" ) ) > 0 then
	response.redirect "visa.asp"
else
	response.redirect "skriv.asp
end if %>[/red]
```

ctrl+c & ctrl+v:ade mycket... vet inte om det är helt korrect :)

Permalänk: https://www.webforum.nu/p/691545

## #4 — LAMP, 2002-06-08T20:31Z

oj, vilken omständig kod  :o 

Du får lägga till en funktion som escapar ' tecken

```
' öppna ett connectionobjekt vid namn Connect

dim strUsername, strPassword, rs, sql

strUsername = request.form("user")
strPassword = request.form("pass")

sql ="SELECT intAnvId, strUsername, strPassword FROM table WHERE strUsername = '" & strUsername & "' and strPassword = '" & strPassword & "' "

set rs = Connect.execute(sql)

if rs.eof then

response.write "felaktig inloggning"

else

session("inloggad") = rs("intAnvId")

end if
rs.close()
set rs = nothing
Connect.close()
set Connect = nothing
```

RED: stavfel

Permalänk: https://www.webforum.nu/p/691548

## #5 — aleborg, 2002-06-08T20:37Z

Använd det här:

```
<%
If request.form("anv")<>"" And request.form("losen")<>"" Then
	Dim Con
	Dim Recset

	Set Con = Server.CreateObject("ADODB.Connection")
	Con.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("test.mdb") &";pwd="

	SQL ="Select * from test Where Anv='"& Replace(request.form("anv"), "'", "''") &"' And Losen='"& Replace(request.form("losen"), "'", "''") &"'"
	Set Recset = Con.Execute(SQL)

	If Not Recset.EOF Then
		session("id") = Recset("id")
		Response.Redirect("inloggad.asp")
	Else
	Response.Redirect("error.asp")
	end if

	Recset.close
	Set Recset = nothing
	Con.Close
	Set Con = nothing 
	
End If
%>
```

På alla sidor som man måste vara inloggad för att kunna se sätter du det här överst:
\<%
If not session("id")\<\>"" Then
Response.Redirect "logga_in.asp"
End If
%\>

Permalänk: https://www.webforum.nu/p/691550

## #6 — LAMP, 2002-06-08T20:51Z

Blir ju lite omständigt att göra replacen på ' i varje sql-sats, bättre med en funktion:

```
Function FixaTecken(sText)
sText = replace(sText,"'","''")
FixaTecken = sText
End Function
```

sedan hör det till god programmeringssed att lägga sina värde från t ex request.form i egna variabler ;)

RED: då blir min förra kod enligt:

```
' lägges med fördel i en include fil

Function FixaTecken(sText)
sText = replace(sText,"'","''")
FixaTecken = sText
End Function

' öppna ett connectionobjekt vid namn Connect

dim strUsername, strPassword, rs, sql

strUsername = FixaTecken(request.form("user"))
strPassword = FixaTecken(request.form("pass"))

sql ="SELECT intAnvId, strUsername, strPassword FROM table WHERE strUsername = '" & strUsername & "' and strPassword = '" & strPassword & "' "

set rs = Connect.execute(sql)

if rs.eof then

response.write "felaktig inloggning"

else

session("inloggad") = rs("intAnvId")

end if
rs.close()
set rs = nothing
Connect.close()
set Connect = nothing
```

Permalänk: https://www.webforum.nu/p/691555

---

Tråden på webben: https://www.webforum.nu/amne/asp/45453-logga-in
