asp中如何检测用户名已经存在?

不提交全部表单中的其它内容,只检测一下用户名... 不提交全部表单中的其它内容,只检测一下用户名 展开
 我来答
百度网友aca73ba15
2006-09-04 · 超过53用户采纳过TA的回答
知道答主
回答量:171
采纳率:0%
帮助的人:0
展开全部
可以用现在很流行的ajax.对你这种情况最适合:
参考:http://edu.2e7.net/articleview/2006-7-13/article_view_1007.htm

当输入已经存在的用户名(如cnbruce、cnrose)时页面将显示重名不能注册(false),否则将显示可以注册(true),这为用户的注册提供了快速的参考,用户体验至上。
首先是定义XMLHttp对象

var xmlHttp = false;
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp = false;
}
}
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
xmlHttp = new XMLHttpRequest();
}

关于这部分内容的说明 请看

接着是自定义函数

function callServer() {
var u_name = document.getElementById("u_name").value;
if ((u_name == null) || (u_name == "")) return;
var url = "cu.asp?name=" + escape(u_name);
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = updatePage;
xmlHttp.send(null);
}

该函数的主要功能就是异步获得cu.asp的内容,在此前将先提取当前页表单元素“u_name”即用户名文本框zhogn 的值,通过cu.asp其后的参数及赋值而得到了不同的结果(true or false)。

那么这里要说的即是cu.asp,他的主要功能就是接受URL参数name的值做内容显示,该内容最终被t1.htm异步获取。

<!--cu.asp的源码示例-->

<!--#include file="conn.asp"-->
<%
name=request.querystring("name")
Set rs = Server.CreateObject ("ADODB.Recordset")
sql = "Select * from u_ser where u_name='"&name&"'"
rs.Open sql,conn,1,1
if rs.eof and rs.bof then
response.write("true")
else
response.write("false")
end if
rs.close
set rs=nothing
call CloseDatabase
%>

如何将异步获取的信息显示在当前页呢

function updatePage() {
if (xmlHttp.readyState < 4) {
test1.innerHTML="loading...";
}
if (xmlHttp.readyState == 4) {
var response = xmlHttp.responseText;
test1.innerHTML=response;
}
}

其中xmlHttp.readyState中的readyState表示服务器在处理请求时的进展状况,其值分别有0-4,各有其说明情况,具体请参看

使用DHTML中的innerHTML可显示信息在定义的 <span id="test1">是否能注册</span> 上。
百度网友f5d7138d7
2006-09-04 · 超过27用户采纳过TA的回答
知道答主
回答量:157
采纳率:0%
帮助的人:123万
展开全部
set rs=server.createobject("adodb.recordset")'建立连接对象
sql="select * from 表名 where 用户列名='"&username&"'" 'T-SQL语句
rs.open sql,conn,1,3 '打开数据库
if not rs.eof or not rs.bof then '判断
Response.Write "用户已存在" '判断结果
end if '退出判断
rs.Close '关闭对象
set rs=nothing '释放资源
conn.close '关闭对象
set conn=nothing '释放资源
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f53cacb
2006-09-04 · TA获得超过4664个赞
知道大有可为答主
回答量:4511
采纳率:50%
帮助的人:2145万
展开全部
一个SELECT语句就解决了。
SELECT COUNT(*) FROM USER WHERE USERID=‘USERID’
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乾迎荷5z
2006-09-04 · 超过53用户采纳过TA的回答
知道小有建树答主
回答量:432
采纳率:0%
帮助的人:0
展开全部
然后再加上一个判断就办了!如果为零,就没有这个用户名,可以使用;大于零就是有这个用户了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式