webForumDet fria alternativet

Kan någon vara vänligen och hjälpa mig med detta?

ASP

25 svar · 2 088 visningar · startad av Mycodez · sida 2 av 2

Frågan, av Mycodez

Hej jag håller på med att fixa en inloggning/ registrering på min hemsida, men det vill inte funka :( jag får följande fel medelande Microsoft VBScript runtime error '800a01a8' Object required: '' /doreg.asp, line 27 och min kod är: <% connectionString = "Driver={MySQL ODBC 3.51 Driver};Server=xxxxx;Option=3;Database=xxxxx;Uid=xxxxx;Pwd=xxxxx;" username=request.Form("username") pass=

Läs frågan i sin helhet →
Medlem sedan juni 20019 519 inlägg
#21

Mycodez skrev:

Hur sätter man tråden som löst?

http://www.webforum.nu/faq.php?faq=vb_faq#faq_faq_acceptance

Sätt svaret på den person / inlägg som löste ditt problem, jag anser ju inte direkt att de svar du har markerat just nu är det svar som löste ditt problem.

Medlem sedan juni 20019 519 inlägg
#22

voigtann1 skrev:

Du måste ju kolla att rs inte är EOF, vilket den verkar vara:

set rs=connection.execute(SQL)

if  Not RS.EOF Then 'om vi har fått en träff i databasen
	session("medlem")=username 'tilldelar sessionvariablen. värdet i username
	response.Redirect("in.asp")'länkar till sida 
else
	response.Redirect("fel.asp")
end if
%>

Dock så måste du nog kolla upp mot SQL injection annars är din databas rätt så körd i framtiden om du inte säkra upp den.

Usch, nu såg jag ett riktig bra fel här, den kommer aldrig vara EOF, då:

SQL="select count(*) as antal from medlem where username ='"& username & "' and password='"& password &"'"

retunera ett Recordset med en rad, med värdet "0"

Konstigt att du fick det meddelande du fick men:

if  CLng("0" & rs("antal"))=1 then

borde fungera

Medlem sedan feb. 2010445 inlägg
#23

okej vad menas med det sidan ?

if  CLng("0" & rs("antal"))=1 then
Medlem sedan juni 20019 519 inlägg
#24

den gör om det till ett tal.

Medlem sedan feb. 2010445 inlägg
#25

okej vart ska jag sätta in den kod fnutten?

Medlem sedan okt. 2007446 inlägg
#26

Men, den där count(*) behöver ju inte finnas, eller hur?

antingen finns en användare med inskrivet namn/lösen eller inte, dvs du kommer få 1 eller 0 där. (såvida du inte tillåter flera användare ha samma namn+lösen vilket kommer kunna ge väldigt intressanta fenomen på andra ställen)

om du istället använder voigtann1 s kod i inlägg 17 tillsammans med SQL-frågan

SELECT username FROM medlem WHERE username ='"& username & "' AND password='"& password &"'"

Du BÖR (läs: måste) säkra det där mot SQL-injections med

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