---
title: "Inloggningssida funkar ej"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/74045-inloggningssida-funkar-ej"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "plelkes"
published: "2003-04-14T09:19:39.000Z"
updated: "2003-04-14T15:41:43.000Z"
replies: 26
views: 465
page: 1
pages: 2
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/74045-inloggningssida-funkar-ej"
---

# Inloggningssida funkar ej

_Sida 1 av 2._

## #1 — plelkes, 2003-04-14T09:19Z

Hej,

har snickrat på en inloggningssida.
Själva formuläret kan [ses här](http://www20.brinkster.com/plelkes/default.asp) 

logg.asp

```
<%
if Request.Form("in") = "stig in" Then 'vill användaren logga in?

Set gbok = Server.CreateObject( "Adodb.Connection" )
gbok.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\plelkes\db\guests.mdb")
gbok.ConnectionString = "Data Source='" & MdbFilePath & "'"
gbok.open
strUser = Request.Form("Anamn")
strPasw = Request.Form("pword")

strSQL1 = "SELECT* FROM admin WHERE anvnamn='"& strUser &"'"
strSQL2 ="SELECT* FROM admin WHERE password ='" & strPasw & "'"
Set rs = gbok.Execute( strSQL1)
IF rs.EOF Then
Respons.Write "Du angav fel Användarnamn! <BR> Försök igen!"
Response.Redirect("default.asp")
Else
Set rs = gbok.Execute( strSQL2)
IF rs.EOF Then
Respons.Write "Du angav fel Lösenord! <BR> Försök igen!"
Response.Redirect("default.asp")
End if
Session("inloggad") = "Ja"
gbok.Close
Set gbok = Nothing

Response.Redirect "redigera.asp"
End If %>
```

 

Följande händer:

- oavsett om jag anger rätt eller fel kombination av namn och lösenord får jag följande felutskrift:

 

> Microsoft VBScript compilation error '800a03f6' 
> 
> Expected 'End' 
> 
> /plelkes/logg.asp, line 29

 
Och "line 29" ser ut som:

```
End If %>
```

Den lösenordsskyddade sidan:

```
<%
If Session ("Inloggad") = "Ja" then
Else
Response.Write "Du är inte auktoriserad"
%>

<html>
<head>
<title>Redigera</title>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>

</head>

<%  
Session.LCID = 1053 
dim minCon 'Connection
     dim rsGbok 'recordsetten f&ouml;r nya inl&auml;gg
     dim strSQL

Set minCon = Server.CreateObject("ADODB.Connection")
set rsGbok = Server.CreateObject("ADODB.Recordset")

minCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\plelkes\db\guests.mdb")
strSQL =" SELECT * FROM guestbook ORDER by ID DESC"
rsGbok.Open strSQL, minCon, 3, 3
	Response.Write "<p align=center><font size=7><b><i><font color=#FFCC33 SIZE=""+3"">"
	Response.Write "Nu kan du" & rs.guests.admin("Fnamn") 
	Response.Write "redigera g&auml;stboken!"
	Response.Write "</U></font></i></b></font></p><BR><BR><BR>"
	Response.Write "<FORM ACTION=""radera.asp"" METHOD=""post""></FORM>"
	Response.Write "<TABLE WIDTH=""800""  BORDER=""1"" ALIGN=""CENTER"" CELLPADDING=""5"" CELLSPACING=""5"">"
Do While Not rsGbok.EOF
    Response.Write "<TR> <TD WIDTH=""149""><H3><B><U>"
    Response.Write rsGbok("Namn")
	Response.Write "</U></B></H3></TD>"
	Response.Write "<TD WIDTH=""556"">"
    Response.Write rsGbok("Message")
	Response.Write "</TD><TD WIDTH=""37"">"
	Response.Write "<INPUT NAME=""delete"" TYPE=""checkbox"" VALUE="""& rsGbok("ID") &""">"
    Response.Write "</TD></TR>"
	Response.Write "<TR ALIGN=""RIGHT"" VALIGN=""MIDDLE"">"
    Response.Write "<TD COLSPAN"="3"">"
	Response.Write "<INPUT TYPE=""submit"" VALUE=""Radera markerade"">"
	Response.Write "</TD></TR>"
rsGbok.MoveNext
Loop
  Response.Write "</TABLE></FORM>"
rsGbok.Close
Set rsGbok = Nothing
Set minCon = Nothing
End If  %>
</body>
</html>
```

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

## #2 — cyprys, 2003-04-14T09:29Z

logg.asp

```
<%
if Request.Form("in") = "stig in" Then 'vill användaren logga in?

Set gbok = Server.CreateObject( "Adodb.Connection" )
gbok.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\plelkes\db\guests.mdb")
gbok.ConnectionString = "Data Source='" & MdbFilePath & "'"
gbok.open

strUser = Request.Form("Anamn")
strPasw = Request.Form("pword")

StrSQL = "SELECT anvnamn, [password] FROM admin WHERE anvnamn = '" & strUser & "' AND [password] = '" & strpasw & "'
Set Rs = gbok.Execute(strSQL)

Dim errmsg
if Rs.Eof then
  errmsg = true
else
  Session("inloggad") = true
end if

gbok.Close
Set gbok = Nothing

if errmsg = true then response.redirect("default.asp")
if session("inloggad") = true then response.redirect("redigera.asp")

End If %>
```

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

## #3 — plelkes, 2003-04-14T09:36Z

Tack för ditt snabba svar,
men med din lösning så vet ju "inloggaren" inte ifall det är fel på användarnamnet, eller på lösenordet.
Det är vad jag försker åstadekomma med mina kråkfötter till kod

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

## #4 — cyprys, 2003-04-14T09:49Z

Visserligen, men är det verkligen nödvändigt?

Men om du skriver response.write och sedan response.redirect direkt efter så förflyttas du ju utan att se något meddelande.

Ska denne se meddelande eller förflyttas?

Exempel på hur göra med ditt önskelmål

```
Set rs1 = conn.execute(SQL1)
if rs1.eof
    response.write("Fel användarnamn")
else
    Set rs2 = conn.execute("SELECT * FROM tbl WHERE username = strUser AND pass = strPasw")
    if rs2.eof then
        response.write("Fel lösenord")
    else
        session("inloggad") = true
    end if
end if
```

Tankegången illustreras i alla fall.
Jag rekommenderar i alla fall mitt sätt.
Att visa när man har rätt användarnamn men fel lösenord för, vad jag menar, inget gött med sig. ;)

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

## #5 — plelkes, 2003-04-14T10:07Z

Envis som en åsna är jag, och har därför ändrat lite i min kod

```
<%
if Request.Form("in") = "stig in" Then 'vill användaren logga in?

Set gbok = Server.CreateObject( "Adodb.Connection" )
gbok.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\plelkes\db\guests.mdb")
gbok.ConnectionString = "Data Source='" & MdbFilePath & "'"
gbok.open
strUser = Request.Form("Anamn")
strPasw = Request.Form("pword")

strSQL1 = "SELECT* FROM admin WHERE anvnamn='"& strUser &"'"
strSQL2 ="SELECT* FROM admin WHERE password ='" & strPasw & "'"
Set rs = gbok.Execute( strSQL1)
IF rs.EOF Then
Response.Redirect("fel_anv.html")
Else
Set rs = gbok.Execute( strSQL2)
IF rs.EOF Then
Response.Redirect("fel_passw.asp")
End if
Session("inloggad") = "Ja"
gbok.Close
Set gbok = Nothing

Response.Redirect "redigera.asp"
End If %>
```

 
Fortfarande dock samma felutskrift:

> Microsoft VBScript compilation error '800a03f6' 
> 
> Expected 'End' 
> 
> /plelkes/logg.asp, line 27

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

## #6 — Engine^, 2003-04-14T10:15Z

```
<%
if Request.Form("in") = "stig in" Then [blue]'vill användaren logga in?[/blue]

  Set gbok = Server.CreateObject( "Adodb.Connection" )
  gbok.Provider = "Microsoft.Jet.OLEDB.4.0"
  MdbFilePath = Server.MapPath("\plelkes\db\guests.mdb")
  gbok.ConnectionString = "Data Source='" & MdbFilePath & "'"
  gbok.open

  strUser = Replace(Request.Form("Anamn"), "'", "''")
  strPasw = Replace(Request.Form("pword"), "'", "''")

  strSQL1 = "SELECT* FROM admin WHERE anvnamn='"& strUser &"'"
  strSQL2 ="SELECT* FROM admin WHERE password ='" & strPasw & "'"

  Set rs = gbok.Execute( strSQL1)
  IF rs.EOF Then
    Response.Redirect("fel_anv.html")
  Else
    Set rs = gbok.Execute( strSQL2)

    IF rs.EOF Then
      Response.Redirect("fel_passw.asp")
    End if

    Session("inloggad") = "Ja"
    gbok.Close
    Set gbok = Nothing

    Response.Redirect "redigera.asp"
  End If
[b]End If[/b] [blue]'<--- Kan vara bra att ha...[/blue]
%>
```

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

## #7 — plelkes, 2003-04-14T10:31Z

Tack Engine^ för hjälpen..
Men vilka fördelar och vilka fel/nackdelar har din kod

```
  strUser = Replace(Request.Form("Anamn"), "'", "''")
  strPasw = Replace(Request.Form("pword"), "'", "''")
```

 
jämfört med min

```
strUser = Request.Form("Anamn")
strPasw = Request.Form("pword")
```

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

## #8 — Engine^, 2003-04-14T10:35Z

Säkerhetsdetalj. Kolla [den här tråden](http://www.webforum.nu/showthread.php?s=&threadid=67281&highlight=injection).

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

## #9 — plelkes, 2003-04-14T11:19Z

Nu funkar det nästan...
Ngra problem kvar dock. Som ni ser kör jag brinkster.
**1:a problemet:**  
jag kan besöka den skyddade sidan genom att skriva in  [dess address](http://www20.brinkster.com/plelkes/redigera.asp) 

**2:a problemet:**  jag vill skriva ut på sidan förnamnet på den som loggar in. Har försökt med:
rsGbok("Fnamn")
rsguest.admin("Fnamn")

databasen heter guest.mdb
har 2 tabeller admin, guestbook

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

## #10 — mrblonde, 2003-04-14T11:24Z

```
If NOT Session ("Inloggad") = "Ja" then
Response.Write "Du är inte auktoriserad"
Response.end
end if
```

kanske funkar bättre...

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

## #11 — Engine^, 2003-04-14T11:25Z

**1:** På varje sida som du vill ha skyddad kan du som första händelse kontrollera att användaren är inloggad. Typ:

```
If Not Session("inloggad") = "Ja" Then
  Response.Write "Det krävs att du är inloggad för att komma åt denna sida."
Else
  [blue]'Resten av sidan, som den ska vara[/blue]
End If
```

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

## #12 — plelkes, 2003-04-14T11:29Z

Som ni ser lite högre upp i inlägget, så har jag en konstruktion som liknar eran!!

```
<%
If Session ("Inloggad") = "Ja" then
Else
Response.Write "Du är inte auktoriserad"
%>

<html>
<head>
<title>Redigera</title>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>

</head>

<%  
Session.LCID = 1053 
dim minCon 'Connection
     dim rsGbok 'recordsetten för nya inlägg
     dim strSQL

Set minCon = Server.CreateObject("ADODB.Connection")
set rsGbok = Server.CreateObject("ADODB.Recordset")

minCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\plelkes\db\guests.mdb")
strSQL =" SELECT * FROM guestbook ORDER by ID DESC"
rsGbok.Open strSQL, minCon, 3, 3
	Response.Write "<p align=center><font size=7><b><i><font color=#FFCC33 SIZE=""+3"">"
	Response.Write "Nu kan du" & rs.guests.admin("Fnamn") 
	Response.Write "redigera gästboken!"
	Response.Write "</U></font></i></b></font></p><BR><BR><BR>"
	Response.Write "<FORM ACTION=""radera.asp"" METHOD=""post""></FORM>"
	Response.Write "<TABLE WIDTH=""800""  BORDER=""1"" ALIGN=""CENTER"" CELLPADDING=""5"" CELLSPACING=""5"">"
Do While Not rsGbok.EOF
    Response.Write "<TR> <TD WIDTH=""149""><H3><B><U>"
    Response.Write rsGbok("Namn")
	Response.Write "</U></B></H3></TD>"
	Response.Write "<TD WIDTH=""556"">"
    Response.Write rsGbok("Message")
	Response.Write "</TD><TD WIDTH=""37"">"
	Response.Write "<INPUT NAME=""delete"" TYPE=""checkbox"" VALUE="""& rsGbok("ID") &""">"
    Response.Write "</TD></TR>"
	Response.Write "<TR ALIGN=""RIGHT"" VALIGN=""MIDDLE"">"
    Response.Write "<TD COLSPAN"="3"">"
	Response.Write "<INPUT TYPE=""submit"" VALUE=""Radera markerade"">"
	Response.Write "</TD></TR>"
rsGbok.MoveNext
Loop
  Response.Write "</TABLE></FORM>"
rsGbok.Close
Set rsGbok = Nothing
Set minCon = Nothing
End If  %>
</body>
</html>
```

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

## #13 — Engine^, 2003-04-14T11:33Z

Jo, men den gör väl tvärtemot det du vill...

```
If Not Session ("Inloggad") = "Ja" then
  Response.Write "Du är inte auktoriserad"
Else
```

är väl som du vill ha det förmodar jag.

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

## #14 — plelkes, 2003-04-14T11:38Z

Har lite svårt, för att inte säga hellt omöjligt för mig att se skillnaden i de två koderna.
med min

```
<%
If Session ("Inloggad") = "Ja" then
Else
Response.Write "Du är inte auktoriserad"
%>
```

 vill jag säga att*om du är inloggad så fortsätt ladda sidan. Om ej inloggad så skriv "att du är inte auktoriserad"*

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

## #15 — plelkes, 2003-04-14T11:48Z

Och med din 

```
If Not Session ("Inloggad") = "Ja" then
  Response.Write "Du är inte auktoriserad"
Else
```

 Engine , 
säger du väl att:
***Om du inte är inloggad skriv "Du är inte auktoriserad"
i annat fall fortsätt ladda sidan*** Om mina antagande stämmer, så fattar jag noll

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

## #16 — mrblonde, 2003-04-14T11:51Z

men din kod säger, om du är inloggad, gör ingenting, annars skriv "du är inte inloggad" och sen fortsätter du med koden för resten av sidan.

Om det inte fungerar nu, och vi rekommenderar att du skriver något annat så kan det kanske var så att vi har en poäng ;)

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

## #17 — plelkes, 2003-04-14T12:03Z

mrblonde

> Om det inte fungerar nu, och vi rekommenderar att du skriver något annat så kan det kanske var så att vi har en poäng

 jag håller hellt med dig, jag försöker bara förstå för att kunna lära mig!!
Fö fattar jag fortfarande inte skillnaden, men..

Nu ser sidans kod som följer

```
<%
If Not Session ("Inloggad") = "Ja" then
Response.Write "Du är inte auktoriserad"
Else

<html>
<head>
<title>Redigera</title>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>

</head>

<%  
Session.LCID = 1053 
dim minCon 'Connection
     dim rsGbok 'recordsetten för nya inlägg
     dim strSQL

Set minCon = Server.CreateObject("ADODB.Connection")
set rsGbok = Server.CreateObject("ADODB.Recordset")

minCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\plelkes\db\guests.mdb")
strSQL =" SELECT * FROM guestbook ORDER by ID DESC"
rsGbok.Open strSQL, minCon, 3, 3
	Response.Write "<p align=center><font size=7><b><i><font color=#FFCC33 SIZE=""+3"">"
	Response.Write "Nu kan du" & rs.guests.admin("Fnamn") 
	Response.Write "redigera gästboken!"
	Response.Write "</U></font></i></b></font></p><BR><BR><BR>"
	Response.Write "<FORM ACTION=""radera.asp"" METHOD=""post""></FORM>"
	Response.Write "<TABLE WIDTH=""800""  BORDER=""1"" ALIGN=""CENTER"" CELLPADDING=""5"" CELLSPACING=""5"">"
Do While Not rsGbok.EOF
    Response.Write "<TR> <TD WIDTH=""149""><H3><B><U>"
    Response.Write rsGbok("Namn")
	Response.Write "</U></B></H3></TD>"
	Response.Write "<TD WIDTH=""556"">"
    Response.Write rsGbok("Message")
	Response.Write "</TD><TD WIDTH=""37"">"
	Response.Write "<INPUT NAME=""delete"" TYPE=""checkbox"" VALUE="""& rsGbok("ID") &""">"
    Response.Write "</TD></TR>"
	Response.Write "<TR ALIGN=""RIGHT"" VALIGN=""MIDDLE"">"
    Response.Write "<TD COLSPAN"="3"">"
	Response.Write "<INPUT TYPE=""submit"" VALUE=""Radera markerade"">"
	Response.Write "</TD></TR>"
rsGbok.MoveNext
Loop
  Response.Write "</TABLE></FORM>"
rsGbok.Close
Set rsGbok = Nothing
Set minCon = Nothing
End If  %>
</body>
</html>
```

 
Nu får jag felutskriften:

> Microsoft VBScript compilation error '800a0400' 
> 
> Expected statement 
> 
> /plelkes/redigera.asp, line 7 
> 
> \<html\>
> ^

 på line 7 står det: \<html\>

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

## #18 — Engine^, 2003-04-14T12:08Z

Du har html-kod i scriptet...

```
<%
If Not Session ("Inloggad") = "Ja" then
Response.Write "Du är inte auktoriserad"
Else
%> [blue]'<---- Glöm inte att avsluta asp-taggar...[/blue]
<html>
<head>
<title>Redigera</title>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>

</head>

<%  
Session.LCID = 1053
```

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

## #19 — plelkes, 2003-04-14T12:11Z

Tack nu fungerar det..
Inte för att jag ser skillnaden mellan de två sätten att skriva, men "ASP" gör det iaf

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

## #20 — Engine^, 2003-04-14T12:23Z

```
If [i]värde1[/i] = [i]värde2[/i] Then
  [blue]' Utför saker här om [i]värde1[/i] är lika med [i]värde2[/i][/blue]
Else
  [blue]' Annars gör det här...[/blue]
End If
```

Eller

```
If [b]Not[/b] [i]värde1[/i] = [i]värde2[/i] Then
  [blue]' Utför saker här om [i]värde1[/i] [b]inte[/b] är lika med [i]värde2[/i][/blue]
Else
  [blue]' Annars gör det här... dvs om [i]värde1[/i] är lika med [i]värde2[/i][/blue]
End If
```

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/74045-inloggningssida-funkar-ej  
Nästa sida: https://www.webforum.nu/amne/asp/74045-inloggningssida-funkar-ej/page2.md
