webForumDet fria alternativet

VAd e fel?

ASP

13 svar · 248 visningar · startad av jwradhe

Medlem sedan juni 2002711 inlägg
Frågan#1

Va har jag missat??

<%
 Set Connect = Server.CreateObject("ADODB.connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("bin/swedb.mdb")
	Set RecSet = Server.CreateObject("ADODB.recordset") 
SQL "SELECT * From users WHERE user  = " & Request.Form("user") & " AND pass = " & Request.Form("pass") & " "
RecSet.Open SQL, Connect  
if RecSet.EOF then 

Session("inloggad") = "no"

else 

Do while RecSet.EOF

Session("user") = RecSet("user")
Session("pass") = RecSet("pass")
Session("inloggad") = "yes"

RecSet.Close
Connect.Close

 [B]end if[/B]

Response.Redirect "index3.asp"

%>

får felmeddelande

Microsoft VBScript compilation error '800a0400' 

Expected statement 

/checkuser.asp, line 24 

end if
^

va kan va fel?

Medlem sedan nov. 20017 144 inlägg
#2

Om user är texttyp och pass "tal-typ" så skall det så ut så här:

SQL "SELECT * From users WHERE user  = '" & Request.Form("user") & "' AND pass = " & cint(Request.Form("pass"))

Är det tvärt om skall det se ut så här:

SQL "SELECT * From users WHERE user  = " & cint(Request.Form("user")) & " AND pass = '" & Request.Form("pass") & "'"
Medlem sedan juni 2002711 inlägg
#3

aha!!!! =P danke!!

Medlem sedan juni 2002711 inlägg
#4

strå Microsoft VBScript compilation error '800a0400'

Expected statement

/checkuser.asp, line 24

end if
^
fortfarande

Medlem sedan juni 2002711 inlägg
#5

vadå text å tal typ?? om du menar TEXT i databsene så har jag satt MEMO/PM

Medlem sedan nov. 20017 144 inlägg
#6
Do while [b]not[/b] RecSet.EOF
Session("user") = RecSet("user")
Session("pass") = RecSet("pass")
Session("inloggad") = "yes"
RecSet.movenext
loop
end if
RecSet.Close
Connect.Close
Medlem sedan nov. 20017 144 inlägg
#7

jwradhe skrev:

vadå text å tal typ?? om du menar TEXT i databsene så har jag satt MEMO/PM

Tal: 1234567890
Text/pm: A-Ö, a-ö,!"#¤)!%=?!¤%)="?%)#¤=%`??´

Medlem sedan juni 2002711 inlägg
#8

hmm....nu förvirar du mig... =)

Medlem sedan juni 2002711 inlägg
#9

du jespet .har du möjligt viss inte msn?

Medlem sedan nov. 20017 144 inlägg
#10

Jo då: jesper@thorn.as

Medlem sedan okt. 200111 inlägg
#11

if RecSet.EOF then

Session("inloggad") = "no"

else

Session("user") = RecSet("user")
Session("pass") = RecSet("pass")
Session("inloggad") = "yes"

end if

RecSet.Close
Connect.Close

Response.Redirect "index3.asp"

Medlem sedan nov. 20017 144 inlägg
#12

Testa:

<%
Dim user,pass
user=replace(Request.Form("user"),"'","")
pass=replace(Request.Form("pass"),"'","") 
Set Connect = Server.CreateObject("ADODB.connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("bin/swedb.mdb")
Set RecSet = Server.CreateObject("ADODB.recordset") 
SQL="SELECT u.user,u.pass From users u WHERE u.user  = '"& user &"' AND u.pass = '"& pass &"'"
RecSet.Open SQL, Connect  
if RecSet.EOF then 
Session("inloggad") = "no"
else 
Session("user") = RecSet("user")
Session("pass") = RecSet("pass")
Session("inloggad") = "yes"
end if
RecSet.Close
Connect.Close
Response.Redirect "index3.asp"
%>
Medlem sedan apr. 20003 174 inlägg
#13

Anledningen till att det blir fel i den kod som du postade först är att du har
en Do while RecSet.EOF som du aldrig fortsätter loopen på, därför får du ett Expected statement.

Medlem sedan juni 2002711 inlägg
#14

tack Jesper . det funka me din kod. ! =)

282 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
148 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
149 ms — ändringar (db)