webForumDet fria alternativet

kan någon kolla denna koden?

ASP

3 svar · 174 visningar · startad av nybörjare

Medlem sedan nov. 200178 inlägg
Frågan#1

Hejsan alla...

ja sitter här men en liten kod jag undrar om någon kan kolla så den stämer? ja har ingen server att testa på just nu och ja måste bara veta om ja har gjort rätt...

[COLOR=#660000]
<% 
namn = Request.Form("namn") 
los  = Request.Form("los") 
databas = Server.MapPath("forum.mdb") 

Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& databas 

Set RecSet = Server.CreateObject("ADODB.Recordset") 
SQL = "SELECT * FROM FORUM WHERE Anv LIKE '"& namn &"' and los LIKE '"& los"'" 

RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic 
Do until RecSet.EOF

If RecSet.EOF then
response.write "Fel Användar namn lr Lösenord, försök igen"
Else 
Session("anv")       = RecSet("namn")
Session("inloggad")  = "ja"

RecSet.movenext
Loop
Recset.close
Set RecSet = nothing 
%>[/COLOR]

:birp

Medlem sedan dec. 200012 464 inlägg
#2
SQL = "SELECT * FROM FORUM WHERE Anv = '"& namn &"' and los = '" & los & "'"
response.write "Fel användarnamn eller lösenord, försök igen"
Medlem sedan nov. 200178 inlägg
#3

thx larsG

Tack larsG...

Allt annat så rätt ut eller? Är lite osäker på Sessions det är därför ja frågar nämligen...

Mvh :birp

Medlem sedan mars 20002 836 inlägg
#4

Frågan är om du behöver ha en loop.
Namn borde vara indexerat och ej tillåta dubletter.
Då behöver du endast kolla om RecSet.EOF

Om det är EOF så finns inte användaren, annars finns den.
Sparar en massa "overhead" på det viset. Frågan är om du ska skapa recordsetet genom ADODB.Recordset överhuvudtaget eller endast genom connection objectet vilket i detta fall är det enda som behövs.

Kod typ:

<% 
namn = Request.Form("namn") 
los  = Request.Form("los") 
databas = Server.MapPath("forum.mdb") 

SQL = "SELECT * FROM FORUM WHERE Anv = '"& namn &"' and los = '"& los"'" 

Set Connect = Server.CreateObject("ADODB.Connection") 
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& databas 

	Set RecSet = Connect.Execute(SQL)

	If RecSet.EOF then
		response.write "Fel Användar namn lr Lösenord, försök igen"
	Else 
		Session("anv") = RecSet("namn")
		Session("inloggad")  = "ja"
	End If

	Set RecSet = nothing 
	
	Connect.Close
Set Connect = Nothing
%>

cya,
PatrikB

258 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
116 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)