---
title: "Får inte ordning på min login"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/49127-får-inte-ordning-på-min-login"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Gossard"
published: "2002-07-31T10:11:46.000Z"
updated: "2002-07-31T16:00:31.000Z"
replies: 12
views: 397
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/49127-får-inte-ordning-på-min-login"
---

# Får inte ordning på min login

## #1 — Gossard, 2002-07-31T10:11Z

Hejsan!

Jag sitter och knappar på en "loginsida", men får inte ordning på det. Har provat lite olika varianter, men det vill sig inte. Någon som kan se vad som är fel i följande kod, får följande fel: *Formatet på initieringssträngen följer inte OLE DB-specifikationen. Rad 27* .

Kod:

\<html\>
\<head\>
\<title\>Login...\</title\>
\</head\>

\<body\>
\<%
If Request.Querystring("do") = "" Then
'formularet
Response.Write "\<form method=""post"" action=""login.asp?do=login""\>"
Response.Write "\<p\>"
Response.Write "Anv&auml;ndarnamn: \<input type=""text"" name=""anvandare"" size=""25""\>\<br\>"
Response.Write "L&ouml;sen: \<input type=""password"" name=""losenord"" size=""25""\>\<br\>"

Response.Write "\<input type=""submit"" value=""Logga in""\>"
Response.Write "\</p\>"
Response.Write "\</form\>"

Else
'Behandlar formularet
Dim objConn, objRS

Set objConn = Server.CreateObject("ADODB.Connection") 
objConn.Open "driver={Microsoft Access Driver (\*.mdb)};dbq=" & Server.MapPath("../klubben.mdb")&";"

Set objRS = Server.CreateObject ("ADODB.Connection")

	namn = Request.Form("anvandare")
	losen = Request.Form("losenord")
	
SQL = "SELECT anvandare,losenord FROM medlemmar WHERE anvandare = namn AND losenord = losen"
RecSet.Open SQL, Conn, 3,3

	If objRS.EOF Then
	Response.Redirect "login.asp"
	Else
	Session("inloggad") = True
	Session("anvandare") = namn
	SQL = "UPDATE medlemmar SET status = status + 1 WHERE anvandare = namn"
	objConn.Execute(SQL)
	Response.Redirect "medlem.asp"
	End If

objRS.Close
objConn.Close

Set objRS = Nothing
Set obj.Conn = Nothing

End If
%\>

\</body\>
\</html\>

Rad 27: RecSet.Open SQL, Conn 

Tacksam för hjälp

/Gossard

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

## #2 — voigtann1, 2002-07-31T10:13Z

ändra recset till objrs
och Conn till objconn

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

## #3 — Gossard, 2002-07-31T10:23Z

Oj, slarv av mig. Fixat, men koden hänger upp sig på  "Åtgärden är inte tillåten när objektet är stängt", på raden "If objRS.EOF Then ".

Det verkar som den inte tar if-satsen alls, då jag provat skriva rätt uppgifter i formuläret.

/Gossard

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

## #4 — OveRRidE, 2002-07-31T10:46Z

Posta din kod igen, denna gång med de korrekta ändringarna och inom KOD och /KOD-taggarna. :)

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

## #5 — Gossard, 2002-07-31T10:49Z

OK, kommer här:

```
<html>
<head>
<title>Login...</title>
</head>

<body>
<%
If Request.Querystring("do") = "" Then
'formularet
Response.Write "<form method=""post"" action=""login2.asp?do=login"">"
Response.Write "<p>"
Response.Write "Anv&auml;ndarnamn: <input type=""text"" name=""anvandare"" size=""25""><br>"
Response.Write "L&ouml;sen: <input type=""password"" name=""losenord"" size=""25""><br>"

Response.Write "<input type=""submit"" value=""Logga in"">"
Response.Write "</p>"
Response.Write "</form>"

ElseIF Request.Querystring("do") = "login" Then
'Behandlar formularet
Dim objConn, objRS

Set objConn = Server.CreateObject("ADODB.Connection") 
objConn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../klubben.mdb")&";"

Set objRS = Server.CreateObject ("ADODB.Connection")

	namn = Request.Form("anvandare")
	losen = Request.Form("losenord")
	
SQL = "SELECT anvandare,losenord FROM medlemmar WHERE anvandare = namn AND losenord = losen"
objRS.Open SQL, objConn, 3,3

	If objRS.EOF Then
	Response.Redirect "login.asp"
	Else
	Session("inloggad") = True
	Session("anvandare") = namn
	SQL = "UPDATE medlemmar SET status = status + 1 WHERE anvandare = namn"
	objConn.Execute(SQL)
	Response.Redirect "medlem.asp"
	End If

objRS.Close
objConn.Close

Set objRS = Nothing
Set obj.Conn = Nothing

End If
%>

</body>
</html>
```

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

## #6 — voigtann1, 2002-07-31T10:57Z

kan det vara så att login.asp är samma sida som den du har denna kod på?.. kan du inte testa att skriva response.write "Fel lösenord eller Användare" istället?

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

## #7 — OveRRidE, 2002-07-31T11:00Z

Oj oj. Annorlunda fel. ;)

Byt ut detta 

```
Set objRS = Server.CreateObject ("ADODB.Connection")
```

 mot detta 

```
Set objRS = Server.CreateObject ("ADODB.RecordSet")
```

Just nu är 'objRs' ett ADODB Connection-objekt, när det skall vara ett Recordset. :)

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

## #8 — Gossard, 2002-07-31T11:04Z

viogtann1: Fel av mig igen, det skulle givetvis stå login2.asp, så man kommer tillbaka till inloggningsforumuläret. Provade sätta Response.Write istället, för att se om den tog det, men icke.

Får tidigare felmeddelande:

Feltyp:
ADODB.Connection (0x800A0E78)
Åtgärden är inte tillåten när objektet är stängt.
/tbp/login2.asp, line 34

..som är första raden i if-satsen som kollar losen och namn.

/Gossard

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

## #9 — OveRRidE, 2002-07-31T11:06Z

Se lösningen ovan. ;)

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

## #10 — Gossard, 2002-07-31T11:11Z

Det tar sig...

Sorry för alla inlägg, men bytade som du sa OveRRidE, men hänger sig på rad 32:

```
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 2 förväntades.
/tbp/login2.asp, line 32

KODEN:

objRS.Open SQL, objConn, 3,3
```

Ska villigt erkänna att jag är osäker på hela SQL-biten, men tacksam för att ni vill hjälpa till.:OO 

/Gossard

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

## #11 — LAMP, 2002-07-31T11:12Z

Inget med felet att göra, men för att vara på säkra sidan hade jag bytt:

```
namn = Request.Form("anvandare")
losen = Request.Form("losenord")
```

mot 

```
namn = replace(Request.Form("anvandare"),"'","''")
losen = replace(Request.Form("losenord"),"'","''")
```

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

## #12 — LAMP, 2002-07-31T11:14Z

Re: Det tar sig...

> **Gossard skrev:**
>
> Sorry för alla inlägg, men bytade som du sa OveRRidE, men hänger sig på rad 32:
>
>
> ```
> Feltyp:
> Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
> [Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 2 förväntades.
> /tbp/login2.asp, line 32
> 
> KODEN:
> 
> objRS.Open SQL, objConn, 3,3
> ```
>
> 
> 
> Ska villigt erkänna att jag är osäker på hela SQL-biten, men tacksam för att ni vill hjälpa till.:OO 
> 
> /Gossard

Har du stavat alla fältnamn, objektnamn och kolumnnamn rätt?

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

## #13 — OveRRidE, 2002-07-31T16:00Z

Mja.. det här ser inte så bra ut.. 

```
SQL = "SELECT anvandare,losenord FROM medlemmar WHERE anvandare = namn AND losenord = losen"
```

När du infogar variabler i en SQL-sträng (som faktiskt ju är en vanlig textsträng innan exekvering) måste du vara noga med att se till att variabeln verkligen kommer med, om du förstår vad jag menar. ;) :p Just nu tror strängen att du vill välja allt från tabellen 'medlemmar' där kolumnen 'användare' är "namn" och kolumnen 'losenord' är "losen". Förstår du vad jag menar? 

Med andra ord:

```
SQL = "SELECT anvandare, losenord FROM medlemmar WHERE anvandare = '" &  namn & "' AND losenord = '" & losen & "' "
```

Detta är under förutsättning att kolumnerna 'anvandare' och 'losenord' är av datatypen Text i din databashanterare. :)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/49127-får-inte-ordning-på-min-login
