webForumDet fria alternativet

Vad är felet? (inloggningskod)

ASP

27 svar · 725 visningar · startad av magnusfeldth · sida 2 av 2

Frågan, av magnusfeldth

Jag försöker genom att använda cookies och if-satser hålla en användare inloggad. Den kollar om sessionen inte är online, och är den inte det, men cookien "inloggad"=ja så ska den kolla om cookievärdena för användarnamn och lösenord finns i databasen, och om de finns så ska den skapa sessionen igen. Kod: <% if Session("VTXOnline") <> "Ja" and Request.Cookies("tubsockor")("inloggad") = "Ja"

Läs frågan i sin helhet →
Medlem sedan jan. 20034 480 inlägg
#21

med objRS och Response.Cookies("tubsockor")("namn") = RS("Namn") får jag samma felmess

Körningsfel i Microsoft VBScript (0x800A000D)
Inkompatibla typer: 'RS'
/vitatubsockorweb/kollavtxinlogg.asp, line 9
Medlem sedan juni 200032 967 inlägg
#22

Inte RS, inte RecSet, endast objRS, i alla fall om koden ser ut som min gör ovan.

Annars måste du visa mer kod.

Medlem sedan jan. 20034 480 inlägg
#23
<% 
if Session("VTXOnline") <> "Ja" and Request.Cookies("tubsockor")("inloggad") = "Ja" then
	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("sockdb/vtforum.mdb")
strSQL = "SELECT 1 FROM sockuser WHERE Usernamn = '" & f(Request.Cookies("tubsockor")("usernamn")) & "' AND Losenord = '" & f(Request.Cookies("tubsockor")("losenord")) & "'"
	set objRS = Connect.Execute (strSQL)
	if not objRS.EOF Then ' Inloggningen är korrekt
		Session("VTXOnline") = "Ja"
		Response.Cookies("tubsockor")("namn") = RS("Namn")
     	Response.Cookies("tubsockor")("usernamn") = RS("usernamn")
		Response.Cookies("tubsockor")("epost") = RS("Epost")
    	Response.Cookies("tubsockor")("losenord") = RS("losenord")		
		Response.Cookies("tubsockor")("inloggad") = "Ja"
		Response.Cookies("tubsockor").Expires = DateAdd("d", 5, Date)
	End if
	objRS.Close : set objRS = Nothing
	Connect.Close : set Connect= Nothing
End if

function f(strText)
	f = Replace(strText, "'", "''")
end function
%>

Fulla koden, precis som den du skrivit ovan.

Medlem sedan juni 200032 967 inlägg
#24

Bort med RS, in med objRS.

Recordsetobjektet heter objRS, ingenting annat.

Se min kodredigering ovan...

Medlem sedan jan. 20034 480 inlägg
#25

Justerat enligt ovan nu, men då kommer detta:

ADODB.Recordset (0x800A0CC1)
Objektet kunde inte hittas i mängden med det begärda namnet eller numret.
/vitatubsockorweb/kollavtxinlogg.asp, line 9

Det vill tydligen inte att det skall funka!

Medlem sedan juni 200032 967 inlägg
#26

Jepp, och det är inte så konstigt när man tittar på vad jag angav i SELECT-frågan. Jag skrev att endast siffran 1 ska hämtas (jag tänkte väl inte på att du ville använda några värden från recordsetet). Byt 1 till * (eller ännu hellre, endast de fält du behöver använda) i SQL-frågan.

Medlem sedan jan. 20034 480 inlägg
#27

YES! Finally, nu funkar det! Thanks @nders! :e

(Anslutningsfråga, när man skall ange vilka fält som man ska hämta ur, behöver man även ange ID-kolumnen? Dum fråga kanske)

Medlem sedan juni 200032 967 inlägg
#28

Om man vill hämta ID-värdet så måste du ange även det fältet ja. ID-kolumnen är ett fält som precis vilket annat som helst.

Mvh

268 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)