---
title: "Inloggningsproblem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/101160-inloggningsproblem"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "WebbisNet"
published: "2004-04-08T07:59:18.000Z"
updated: "2004-04-11T13:39:01.000Z"
replies: 10
views: 270
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/101160-inloggningsproblem"
---

# Inloggningsproblem

## #1 — WebbisNet, 2004-04-08T07:59Z

Kan nån säga varför den här koden inte verifierar användaren och skickar vidare?

```
<%
'Deklarera några av variablerna 
Dim strAnvNamn, strLosen, conn, RS

'Hämta info från formulären
strAnvNamn = Trim(Request.Form("txtUsername"))
strAnvNamn = Replace(strAnvNamn, Chr(39), Chr(34)) ' <== Byt ' mot "
strLosen = Trim(Request.Form("txtPassword"))
strLosen = Replace(strLosen, Chr(39), Chr(34)) ' <== Byt ' mot "

'Öppna en koppling till DB
SET Conn = System_Main()

'Kör SQL och sätt ett RecordSet
Dim SQL
SQL = "SELECT * FROM tblCommunity WHERE username = '" & strAnvNamn _
& "' AND password = '" & strLosen & "'" 
Set RS= Server.CreateObject("ADODB.RecordSet")
RS.Open SQL, Conn, 3, 3

'Sätt Sessionsvariabler
If NOT RS.EOF THEN 
Session("inloggad") = True
Session("ID") = RS("ID")
Session("username") = RS("username")

'Uppdatera databasen
Dim Update
conn.Execute("Update tblCommunity SET inloggad = True WHERE ID= " & RS("ID") &"")

'Kolla om man ska vidare eller komma till en errorsida 
Response.Redirect "/community/index.asp" 
Else 
Response.Redirect "/community/error.asp"
End If

conn.Execute(SQL)

strUser = " & RS(username) & "
RS.Close
Set RS = Nothing
conn.Close 
Set conn = Nothing 
%>
```

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

## #2 — @nders, 2004-04-08T08:09Z

På vilket sätt fungerar det inte? Vad händer? Felmeddelande? Hur ser utskriven SQL-fråga ut?

\- - - - - -

\*) Du bör inte byta ut apostrofer mot citationstecken. Escape:a de bara, genom att byta ut en till två.
\*) Du skriver **Dim Update** men använder aldrig den variabeln. Släng bort.
\*) Under dina response.redirect ser det ut så här:

```
conn.Execute(SQL)

strUser = " & RS(username) & "
```

Jag förstår inte varför du bara exekverar din select-fråga igen (släng bort), och den undre raden, vad använder du den till? Om du senare i koden ska använda den variabeln, då borde den se ut så här:

```
strUser = RS(username)
```

Släng annars bort även den raden.

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

## #3 — WebbisNet, 2004-04-08T08:14Z

> **@nders skrev:**
>
> På vilket sätt fungerar det inte? Vad händer? Felmeddelande? Hur ser utskriven SQL-fråga ut?
> 
> \- - - - - -
> 
> \*) Du bör inte byta ut apostrofer mot citationstecken. Escape:a de bara, genom att byta ut en till två.
> \*) Du skriver **Dim Update** men använder aldrig den variabeln. Släng bort.
> \*) Under dina response.redirect ser det ut så här:
>
> ```
> conn.Execute(SQL)
> 
> strUser = " & RS(username) & "
> ```
>
> Jag förstår inte varför du bara exekverar din select-fråga igen (släng bort), och den undre raden, vad använder du den till? Om du senare i koden ska använda den variabeln, då borde den se ut så här:
>
> ```
> strUser = RS(username)
> ```
>
> Släng annars bort även den raden.

Jag blir bara redirectad tillbaka till inloggningsformen, trots att det inte står nånstans i koden, det gör att jag inte kan få felmeddelande och eftersom jag inte har nån html i koden så går det inte att skriva ut satsen

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

## #4 — @nders, 2004-04-08T08:21Z

> det gör att jag inte kan få felmeddelande och eftersom jag inte har nån html i koden så går det inte att skriva ut satsen

Hmmmm... :o

Var finns inloggningsformuläret? Är det all kod på sidan?

\- - - - - -

Jag har förenklat din kod en aning.

```
<%
'Deklarera några av variablerna 
Dim strAnvNamn, strLosen, conn, RS

'Hämta info från formulären
strAnvNamn = Replace(Trim(Request.Form("txtUsername")), "'", "''")
strLosen = Replace(Trim(Request.Form("txtPassword")), "'", "''") 

'Öppna en koppling till DB
SET Conn = System_Main()

'Kör SQL och sätt ett RecordSet
Dim SQL
SQL = "SELECT * FROM tblCommunity WHERE username = '" & strAnvNamn _
& "' AND password = '" & strLosen & "'" 
[b]Response.write SQL
Response.End[/b]
Set RS= Conn.Execute(SQL)

'Sätt Sessionsvariabler
If NOT RS.EOF THEN 
	Session("inloggad") = True
	Session("ID") = RS("ID")
	Session("username") = RS("username")

	'Uppdatera databasen
	conn.Execute("Update tblCommunity SET inloggad = True WHERE ID= " & RS("ID"))

	'Kolla om man ska vidare eller komma till en errorsida 
	Response.Redirect "/community/index.asp" 
Else 
	Response.Redirect "/community/error.asp"
End If

RS.Close
Set RS = Nothing
conn.Close 
Set conn = Nothing 
%>
```

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

## #5 — WebbisNet, 2004-04-08T08:28Z

När jag nu skriver ut satsen får jag SELECT \* FROM tblCommunity WHERE username = 'guest' AND password = 'guest' och värdena hänger med fast jag fortfarande bara kommer tillbaka till inloggningsformen. Jag har loginform.asp som skickas till login.asp för verifiering

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

## #6 — WebbisNet, 2004-04-08T08:33Z

Tack @nders

Det var en redirect på indexfilen som spökade, den ska förhindra att man kommer in om man inte är inloggad

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

## #7 — J.N., 2004-04-08T10:05Z

HEJ!

Kompletterande fråga:

Vilken nytta gör

```
RS.Close
Set RS = Nothing
conn.Close 
Set conn = Nothing
```

 där det står nu?

Kom på mig själv med att ha det så, flyttade upp det före Redirect.

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

## #8 — Engine^, 2004-04-08T10:55Z

Det kasserar objektet och frigör det minne som användes av objektet.

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

## #9 — J.N., 2004-04-08T11:47Z

HEJ!

Jo, det är jag med på, men där det står?

Redirecten körs, och sedan körs inte mer av koden på den sidan, har jag fått för mig?

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

## #10 — WebbisNet, 2004-04-11T13:31Z

> **J.N. skrev:**
>
> HEJ!
> 
> Jo, det är jag med på, men där det står?
> 
> Redirecten körs, och sedan körs inte mer av koden på den sidan, har jag fått för mig?

Det är ju inloggningen, när man loggas in så förstörs objektet då det inte behövs längre

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

## #11 — @nders, 2004-04-11T13:39Z

> Redirecten körs, och sedan körs inte mer av koden på den sidan, har jag fått för mig?

Det är riktigt.

> Det är ju inloggningen, när man loggas in så förstörs objektet då det inte behövs längre

Bra tänkt, men redirecten körs ju först, vilket innebär att objekten aldrig förstörs. Kör den koden innan redirecten så blir det bäst.

mvh

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/101160-inloggningsproblem
