我的这段代码问题在什么地方,总搞不明白,我是个笨鸟(20分)

  • 主题发起人 主题发起人 鸡蛋
  • 开始时间 开始时间

鸡蛋

Unregistered / Unconfirmed
GUEST, unregistred user!
我的这段代码问题在什么地方,总搞不明白,我是个笨鸟
<!--#include file="conn.asp"-->conn.asp是连接数据库的代码
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
</head>
<body>
接收提交的name和pw信息
<%name=request("name")
code=request("pw")
dim admin_name,admin_pw,sql,rs
set rs=server.createobject("adodb.recordset")
sql="select * from admin"
rs.open "admin"
set rs=connection.execute(sql)
if not (rs.eof ) then
%>
该用户名已注册,请你重新<a href="login.asp">注册</a>新的用户名!
<%else
myconn.execute("insert into admin(name,pw) values('"&amp;name&amp;"','"&amp;code&amp;"')")
rs.close
myconn.close%>
<%=name%>你已注册成功!</p>
<%end if
%>
<p>adfasdfsd</p>
<%=name%>
<%=code%>
</body>
</html>
程序想实现用户注册功能,当用户输入的注册用户名已存在时,提示用户重新注册,如果是
新用户就将其写入数据库中,但是程序总是不能正常执行,请各位高手指教我这个ASP入门者,想了好几天了
 
把出错信息写出来再说
 
if not (rs.eof ) then
%>
该用户名已注册,请你重新<a href="login.asp">注册</a>新的用户名!
<%else
myconn.execute("insert into admin(name,pw) values('"&amp;name&amp;"','"&amp;code&amp;"')")
rs.close
myconn.close%>
<%=name%>你已注册成功!</p>
<%end if
无论用户名是否存在或不存在,都是执行第一种情况:
该用户名已注册,请你重新<a href="login.asp">注册</a>新的用户名!
当注册一个新用户时,不能写入数据库中
 
sql="select * from admin"
上面为什么不加用户名和密码的条件 where ...=.... and ..=....
 
sql语句有问题,应该加上where条件。
 
<%name=request("name")
code=request("pw")
set rs=server.createobject("adodb.recordset")
rs.open "select * from admin where name="&amp;name&amp;" and code="&amp;code&amp;",myconnection,1,2
if not rs.eof then
response.write "该用户名已注册,请你重新<a href="login.asp">注册</a>新的用户名!"
else
rs.addnew
rs("name")=name
rs("code")=code
rs.update
response.write name&amp;"你已经注册成功!"
response.write code
end if
 
1。先测试一下你的SQL语句是否正确,我怎么觉得你的SQL语句就不对呢。
select * from admin 岂不是得到所有的注册信息?你是不是应该写:
select * from admin where name='"&amp;name&amp;"' and pwd = '"&amp;code&amp;"'
2。最好先 rs.movefirst,再写 if not(rs.eof) then
,这样比较保险。
 
NET里面还在用rs.movefirst,为什么不用ADO.NET?不好吗?
 
后退
顶部