为什么我用ASP javascipt做的登录总是相同呢

来源:百度知道 编辑:UC知道 时间:2024/07/06 13:59:07
<%
var conn=Server.CreateObject("ADODB.Connection");
var path=Server.MapPath("wang.mdb");
var str="DRIVER={Microsoft Access Driver (*.mdb)};DBQ="+path+"";
var str="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+path+"";
conn.Open(str)
var rs=Server.CreateObject("ADODB.Recordset")
sql="select * from wang";
rs.Open(sql,conn,1,3);
sql="select * from wang where 用户名='"+Request.Form("usename")+"' and 密码='"+Request.Form("password")+"'";
if (rs.EOF || rs.BOF)
// then
Response.write("错误的用户名或者密码")
else
Response.write("正确")
为什么无论我输正确还是错误都是相同的

if (rs.EOF || rs.BOF)
// then
Response.write("错误的用户名或者密码")
else
Response.write("正确")

问题出在这里,你打开记录集的时候,记录指针是向下跳转的,而且打开记录集不写的话,只需要rs.Open(sql,conn,1,1)。应该这样
Do While Not Rs.Eof
Rs.MoveFirst
If Request.Form("UserName")=Rs("用户名") And Request.Form("PassWord")=Rs("密码") Then
登陆通过,并跳转
Response.End
Else
Rs.MoveNext
Loop
Response.Write "您输入的用户名和密码有错误!"

你把SQL参数赋了两次,删除sql="select * from wang"; 就可以了