---
title: "Inloggnings probelm..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/11131-inloggnings-probelm"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "ReloadMaster"
published: "2001-08-14T19:50:00.000Z"
updated: "2003-05-24T06:09:58.000Z"
replies: 14
views: 364
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/11131-inloggnings-probelm"
---

# Inloggnings probelm...

## #1 — ReloadMaster, 2001-08-14T19:50Z

Hur ska jag ändra denna kod:
\<%'Logga in%\>

	\<form method="POST" action="login2.asp?status=check"\>

		\<table width="250" border="0" cellspacing="0" cellpadding="0" align="center"\>
		\<tr\> 
			\<td width="120"\>\<b\>Användarnamn:\</b\>\</td\>
			\<td width="280"\>\<input type="text" name="anvandarnamn"\>\</td\>
		\</tr\>
		\<tr\> 
			\<td width="120"\>\<b\>Lösenord:\</b\>\</td\>
			\<td width="280"\>\<input type="password" name="losenord"\>\</td\>
		\</tr\>
		\<tr\> 
			\<td width="120"\>&nbsp;\</td\>
			\<td width="280"\>&nbsp;\</td\>
		\</tr\>
		\<tr\> 
			\<td width="120"\>&nbsp;\</td\>
			\<td width="280"\>\<input type="submit" name="Submit" value=" Logga in "\>\</td\>
		\</tr\>
		\</table\>

	\</form\>

\<%'Kollar inloggning...%\>

\<%

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("nyhetdb.mdb")
Set RecSet = Connect.Execute(SQL)

anamn = RecSet("anvandarnamn")
losen = RecSet("losenord")

	If Request.Querystring("status") = "check" Then

	Session("anvandare") = Request.Form("anvandarnamn")
	Session("losenord") = Request.Form("losenord")
	
		If Session("anvandare") = "ss" AND Session("losenord") = "ss" Then
%\>

Du är inloggad klicka för att gå in...
\<a href="sidan.asp"\>Till sidan\</a\>
\<%
		
		Else
		
		Response.Write "\<center\>\<font color=""Red""\>Du har angett ett felaktigt användarnamn eller lösenord.\</font\>\</center\>"

		End If

	End If
%\>

så att den kontaktar databasen och hämtar lösenorden därifrån...

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

## #2 — cyprys, 2001-08-14T20:57Z

Det här är en av den vanligaste frågan och jag säger som jag kanske ganska ofta säger: Sök! ;)
Du hittar svar det lovar jag.

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

## #3 — ReloadMaster, 2001-08-15T16:48Z

Vad ska jag söka på då...

hittar inget på "datbas inloggning" m.m....

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

## #4 — cyprys, 2001-08-15T18:36Z

Vet inte varför men jag känner mig bara snäll idag.
Kanske för att jag klarat uppkörningen på första försöket idag :e :e :e

```
#########login1.asp
<form method=post action=login2.asp?status=check>
<table width="250" border="0" cellspacing="0" cellpadding="0" align="center">
<tr> 
<td width="120"><b>Användarnamn:</b></td>
<td width="280"><input type="text" name="anvandarnamn"></td>
</tr>
<tr> 
<td width="120"><b>Lösenord:</b></td>
<td width="280"><input type="password" name="losenord"></td>
</tr>
<tr> 
<td width="120"> </td>
<td width="280"> </td>
</tr>
<tr> 
<td width="120"> </td>
<td width="280"><input type="submit" name="Submit" value=" Logga in "></td>
</tr>
</table>
</form>

######### login2.asp
<%
' LÄNGST UPP PÅ SIDAN START
if request.querystring("status") <> "check" then
response.redirect("login1.asp")
end if
' LÄNGST UPP PÅ SIDAN SLUT

if request.querystring("status") = "check" then
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("nyhetdb.mdb")
SQL = "SELECT anvandarnamn, losenord FROM tabellen " & _
"WHERE anvandarnamn = '"&request.form("anvandarnamn")&"' AND " & _
"losenord = '"&request.form("losenord")&"' "
Set RS = Connect.Execute(SQL)

if RS.eof then
	response.write "Du har skrivit fel användarnamn eller lösenord!"
else
	session("inloggad") = true
	response.write "Nu kan du gå till <a href=sidan.asp>sidan</a>"
end if
end if
Connect.close
Set Connect = nothing
Set RS = nothing
%>
```

På alla sidor som du ska lösenordskydda lägger du sedan till den här kodrader **längs upp**!

```
<%
if session("inloggad") <> true then
response.redirect("login1.asp")
end if
%>
```

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

## #5 — Harback, 2001-08-15T19:30Z

Kom att tänka på en sak...

Får en användare helt unika sessions för varje sida denne går in på? 

Tänk t.ex. om en användare går in på annan sida utanför denna webplats och där får Session("inloggad") = true och utan att logga ut där går besökaren till denna sidan, hänger då den sessionen med? Isåfall kan ju denne gå in på sidan utan att logga in.

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

## #6 — @nders, 2001-08-15T19:36Z

sessionen är beroende på webapplikation.

session måste alltså sättas på din webbplats för att den ska gälla på din webbplats.

när en session sätts på servern, skapas en cookie hos användaren som innehåller ett långt sessionid. detta id kopplas mot sessionen på servern, och sessioner med id som inte skapas hos dig har inte något värde på din webbplats.

mvh,

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

## #7 — d@le, 2003-05-23T19:02Z

Hjälp?

Har försökt använda mig av denna kod för att få fram en inloggning, men jag får det alltså inte till att fungera. :(

```
<%
' LÄNGST UPP PÅ SIDAN START
if request.querystring("status") <> "check" then
response.redirect("admin.asp")
end if
' LÄNGST UPP PÅ SIDAN SLUT
%>

<%
Function Fix(str)
str = Replace(str,"'","''")
str = Server.HTMLEncode(str)
Fix = str
End Function
%>

<%
aID = Fix(Request.form("log"))
losenord = Fix(Request.form("pass"))
%>

<%
if request.querystring("status") = "check" then
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("db/nyheter_databasen.mdb")
SQL = "SELECT log, pass FROM admin WHERE log = " & aID & " AND pass = '" & losenord & "' "
response.write sql
Set RS = Connect.Execute(SQL)
%>

<%
if RS.eof then
	response.write "Du har skrivit fel användarnamn eller lösenord!"
else
	session("inloggad") = true
    response.write "Nu kan du gå till <a href=sidan.asp>sidan</a>"
%>

<% end if %>
<% end if %>

<%
Connect.close
Set Connect = nothing
Set RS = nothing
%>
```

Får felmeddelandet,

Microsoft JET Database Engine error '80040e10' 
No value given for one or more required parameters. 
/test/admin2.asp, line 39 

Detta felet ska ju tydligen ha något med namnet i databasen att göra (då jag sökte efter felet på forumet), men databasen har dessa namn:

id - räknare
log - text
pass - tal

När jag sen skriver ut sql satsen, så får jag med mig det jag vill veta alltså, 

```
SELECT log, pass FROM admin WHERE log = admin AND pass = '666666'
```

Men varför fungerar det då inte?? :( Tacksam för all hjälp! :P

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

## #8 — mikul, 2003-05-23T20:17Z

```
SQL = "SELECT log, pass FROM admin WHERE log = '" & aID & "' AND pass = '" & losenord & "';"
```

**cyprys: Grattis! :birp**

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

## #9 — d@le, 2003-05-23T20:29Z

Nix, tyvärr inte rätt, fick annat fel nu:

```
Microsoft JET Database Engine error '80040e07' 
Data type mismatch in criteria expression. 
/test/admin2.asp, line 39
```

Och sen är inläggen (de övriga) rätt gamla, skrevs, 2001-08-15, men bättre sent än aldrig kanske? ;)

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

## #10 — Sebbe, 2003-05-23T20:45Z

Så här då?

```
SELECT log, pass FROM admin WHERE log = '" & admin & "' AND pass = '666666'
```

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

## #11 — d@le, 2003-05-23T21:18Z

Hur då? Tanken är ju att den ska utgå ifrån databasen, för att jag ska kunna skapa mer än en användare och kunna t ex. ändra lösenordet via webben? Med din kodsnutt så ska den ju enbart acceptera just de loginet och lösenordet? Kanske jag som missförstått dig, men förklara gärna då, är nämligen långt från haj på asp =/ Men nångång ska ju va den första att lära sig ;)

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

## #12 — d@le, 2003-05-23T21:20Z

Såg att du förresten hade en admin på din sida, hur har du gjort den? Kanske kan du dela med dig av en liten kodsnutt? :P

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

## #13 — Sebbe, 2003-05-23T22:44Z

Äsch, nu känner jag mig generös. :)

```
<%
If Request.QueryString = "" Then
  Response.Redirect("?do=login")
End If

If Request.QueryString("do") = "login" Then
%>
<html>
  <head></head>
  <body>
    <form action="?do=inside" method="post">
      <input type="text" name="user" value="Användarnamn"><br>
      <input type="password" name="pass" value="Lösenord"><br>
      <input type="submit" value="Logga in">
    </form>
  </body>
</html>
<%
ElseIf Request.QueryString("do") = "inside" Then
  Dim strUser, strPass, strSQL, objConn, objRS

  strUser = Replace(Request.Form("user"), "'", "''")
  strPass = Replace(Request.Form("pass"), "'", "''")

  Set objConn = Server.CreateObject("ADODB.Connection")
  objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/nyheter_databasen.mdb")
  strSQL = "SELECT log, pass FROM admin WHERE log = '" & strUser & "' AND pass = '" & strPass & "'"
  Set objRS = objConn.Execute(strSQL)

  If objRS.EOF Then
    Response.Write("Fel användarnamn eller lösenord.")
  Else
    Session("inne") = True
    Response.Redirect("inne.asp")
  End If

  Set objRS = Nothing
  objConn.Close : Set objConn = Nothing
End If
%>
```

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

## #14 — d@le, 2003-05-24T05:51Z

Tackar för kodsnutten men får exakt samma fel återigen! ' - tecknet betyder väl tal? Hm, får prova göra om hela databasen (enbart en användare än så länge), ska väl förhoppningsvis få ordning på det nångång \*hoppas\*

Tack iaf :)

red:
Har nu provat göra om databasen, har helt tagit bort det gamla (tänkte att admin kanske var reserverat, som vissa fält är), bytt namn till anv, och bytt bägge fälten till tal med siffror som innehåll. Men jag får ändå felet,

```
Microsoft JET Database Engine error '80040e07' 
Data type mismatch in criteria expression. 
/test/test2.asp, line 37
```

Och om jag räknat rätt så är rad 37,

```
Session("inne") = True
Response.Redirect("default.asp")
[b]End If[/b]
```

??

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

## #15 — d@le, 2003-05-24T06:09Z

YES! Fick äntligen ordning på det, hade blandat ihop ' med " var ju precis tvärtom ;) Tack iaf alla för hjälpen! :)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/11131-inloggnings-probelm
