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.
14 svar · 303 visningar · startad av Zaad
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. =/
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.
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
Set RS = connection.Execute(SQLStmt)
Men den vissar bara koden i min browser. Den verkar inte behandla det som asp. Eller så e det nått som fattas...
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,
Körningsfel i Microsoft VBScript fel '800a01a8'
Objekt krävs.: 'objDB'
/duell/asp/confirm.asp, rad 7
Rad 7 = Set RS = objDB.Execute(SQLStmt)
Du ska som LarsG sa tidigare byta ut
Set RS = objDB.Execute(SQLStmt)
Till
Set RS = connection.Execute(SQLStmt)
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
%>
Det felet du fick nu beror på att du i select-satsen har angett kolumnnamn som inte finns i din tabell.
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"
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