webForumDet fria alternativet

Läsa psw och usr i db.

ASP

14 svar · 271 visningar · startad av Zaad

Medlem sedan dec. 200150 inlägg
Frågan#1

Hejsan, jag lyckades få tag på denna lilla kod snutten. Men jag måste ha lite till på den tror jag. Vad e det som fattas för att det ska fungera att använda den...

SQLStmt = "SELECT * FROM users WHERE Username = '" & Request.Form("user") & "' AND Password = '" & Request.Form("Pass") & "'"
Set RS = objDB.Execute(SQLStmt) 
If RS.EOF Then
Response.Redirect("error.asp") 
Else 
Response.Cokies("Login")("AnvId") = RS("Id")
Response.Redirect("../inloggad.html") 
End If
RS.Close()
set RS = Nothing

Ps: cokie med 2 o. Men dom ville inte att man skulle ha det här tydligen. =/

------------------
Zaad - A way to live.

Medlem sedan dec. 200012 464 inlägg
#2

Det som saknas är kod för att öppna databasen. Exakt hur det ser ut beror på vilken databashanterare du använder.

http://cgi.webforum.nu/wf/Forum11/HTML/001285.html

visar på hur det ser ut med access t.ex.

------------------
essentitia preter non sans multiplicandum

Medlem sedan dec. 200150 inlägg
#3

Men... Jag tror fortfarande det fattas lite tecken som gör att servern behandlar det på rätt sätt...

Min fil ser ut så här.
confirm.asp

Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Provider = "Microsoft.Jet.OLEDB.4.0"
Connection.ConnectionString = "Data Source=" & Server.MapPath("../db/users.mdb")
Connection.Open

SQLStmt = "SELECT * FROM users WHERE Username = '" & Request.Form("user") & "' AND Password = '" & Request.Form("Pass") & "'"
Set RS = objDB.Execute(SQLStmt) 
If RS.EOF Then
Response.Redirect("error.asp") 
Else 
Response.Cokies("Login")("AnvId") = RS("Id")
Response.Redirect("../inloggad.html") 
End If
RS.Close()
set RS = Nothing

------------------
Zaad - A way to live.

Medlem sedan dec. 200012 464 inlägg
#4
Set RS = connection.Execute(SQLStmt)

------------------
essentitia preter non sans multiplicandum

Medlem sedan dec. 200150 inlägg
#5

Men den vissar bara koden i min browser. Den verkar inte behandla det som asp. Eller så e det nått som fattas...

------------------
Zaad - A way to live.

Medlem sedan juni 200032 967 inlägg
#6

Du skall omsluta asp-koden med <% %>.

Alltså:

[b]<%[/b]
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Provider = "Microsoft.Jet.OLEDB.4.0"
Connection.ConnectionString = "Data Source=" & Server.MapPath("../db/users.mdb")
Connection.Open
SQLStmt = "SELECT * FROM users WHERE Username = '" & Request.Form("user") & "' AND Password = '" & Request.Form("Pass") & "'"
Set RS = objDB.Execute(SQLStmt) 
If RS.EOF Then
Response.Redirect("error.asp") 
Else 
Response.Cokies("Login")("AnvId") = RS("Id")
Response.Redirect("../inloggad.html") 
End If
RS.Close()
set RS = Nothing
[b]%>[/b]

Mvh,

Medlem sedan dec. 200150 inlägg
#7

Körningsfel i Microsoft VBScript fel '800a01a8'

Objekt krävs.: 'objDB'

/duell/asp/confirm.asp, rad 7

Rad 7 = Set RS = objDB.Execute(SQLStmt)

------------------
Zaad - A way to live.

Medlem sedan okt. 20005 273 inlägg
#8

Du ska som LarsG sa tidigare byta ut

Set RS = objDB.Execute(SQLStmt)

Till

Set RS = connection.Execute(SQLStmt)

------------------
kolung.....det tål att tänkas på!

Medlem sedan juni 200032 967 inlägg
#9

Jag ber om ursäkt för att jag missade det i den koden jag postade.

Mvh,

Medlem sedan dec. 200150 inlägg
#10

Fel igen. Jag rättade till det sista. Kan inte någon typ bara ta min kod och rätta till den. =) Och posta den här. =)

Microsoft JET Database Engine fel '80040e10'

Det har inte angetts något värde för en eller flera nödvändiga parametrar.

/duell/asp/confirm.asp, rad 7

confirm.asp

<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Provider = "Microsoft.Jet.OLEDB.4.0"
Connection.ConnectionString = "Data Source=" & Server.MapPath("../db/users.mdb")
Connection.Open
SQLStmt = "SELECT * FROM users WHERE Username = '" & Request.Form("user") & "' AND Password = '" & Request.Form("Pass") & "'"
Set RS = connection.Execute(SQLStmt)
If RS.EOF Then
Response.Redirect("error.asp") 
Else 
Response.Cokies("Login")("AnvId") = RS("Id")
Response.Redirect("../inloggad.html") 
End If
RS.Close()
set RS = Nothing
%>

------------------
Zaad - A way to live.

Medlem sedan dec. 200012 464 inlägg
#11

Det felet du fick nu beror på att du i select-satsen har angett kolumnnamn som inte finns i din tabell.

------------------
essentitia preter non sans multiplicandum

Medlem sedan dec. 200150 inlägg
#12

Fel igen...
Jag säger bara en sak. Mycket klydd för lite nytta. Men nu tänker jag inte ge mej...

ADODB.Recordset fel '800a0cc1'

Objektet kunde inte hittas i mängden med det begärda namnet eller numret.

/duell/asp/confirm.asp, rad 11

rad 11

Response.Cokies("Login")("AnvId") = RS("Id")

"cokies med 2 o"

------------------
Zaad - A way to live.

Medlem sedan juni 200032 967 inlägg
#13

Heter fältet ID i tabellen? Felmeddelandet antyder att så icke är fallet.

Mvh,

Medlem sedan dec. 200150 inlägg
#14

Databasen har 3 fält..
ID, Username, Password

ADODB.Recordset fel '800a0cc1'

Objektet kunde inte hittas i mängden med det begärda namnet eller numret.

/duell/asp/confirm.asp, rad 11

------------------
Zaad - A way to live.

Medlem sedan dec. 200150 inlägg
#15

Sorry, mitt fel.
Stort D på ID. =)

Nu funkar det..
Tack allihopa för hjälpen....

------------------
Zaad - A way to live.

264 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)