高分请教高手!这段asp注册检查代码哪里有误!

来源:百度知道 编辑:UC知道 时间:2024/06/05 22:39:42
这段asp注册检查代码哪里有误/菜鸟请教,写详细一点?

<!--#include file="conn.asp"-->
<!--#include file="err.asp"-->
<!--#include file="md5.asp"-->
<!--#include file="dengji.asp"-->
<%
dim userid,yearold,userpsd,userpsd2,usermail,userques,userans,sex
userid=trim(request("userid"))
yearold=trim(request("yearold"))
userpsd=trim(request("userpsd"))
userpsd2=trim(request("userpsd2"))
usermail=trim(request("usermail"))
userques=trim(request("userques"))
userans=trim(request("userans"))
comurl=trim(request("url"))
sex=trim(request("sex"))

if chkdomain(userid)=false then
errma "注册没有成功","用户名只能使用字母,数字及下划线!"
response.End()
elseif len(userid)>10 then
errma "注册没有成功","用户名不允许大于10字符"
response.End()
elseif len

问题出在判断用户名是否已经被占用
set rs=server.CreateObject("adodb.recordset")
sql ="Select * from kw_user where username='"&userid&"'"
Rs.CursorLocation = 3 '加入这句
rs.open sql,conn,1,3
if rs.recordcount>=1 then
errma "注册没有成功","用户名已经被占用!"
response.End()
end if
---------------------------------------------------------
通常人们使用以下两种方法来执行SQL语句:
Set Rs=Conn.Execute(SqlStr)

Set Rs=Server.CreateObject(“ADODB.RecordSet“)
Rs.Open SqlStr,Conn,CursorType,LockType

(RecordSet对象方法请看这里)

由于默认的记录集游标是服务器游标,
Rs.CursorLocation = adUseServer
所以返回Rs.RecordCount=-1,
应该把服务器游标改为客户端游标,
Rs.CursorLocation = adUseClient
Rs.Open SqlStr,Conn,CursorType,LockType

所以 Rs.CursorLocation = 3 就可以解决这个问题了,要放在OPNE 的前面!

-------------------------------------------------------------
建议使用
if not rs.eof then
e