下面是reg.htm代碼:
<% @Language="JavaScript" %>
<%
function OpenDB(sdbname)
{
var connstr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(sdbname);
var conn = Server.CreateObject("ADODB.Connection");
conn.Open(connstr);
return conn;
}
var sResult = "";
var oConn = OpenDB("data.mdb");
//特殊字符:+,%,&,=,?等的傳輸解決辦法.客戶端字符是經(jīng)過escape編碼的
//所以服務(wù)器端先要經(jīng)過unescape解碼.
//Update:2004-6-1 12:22
var userid = unescape(Request("userid"));
var sql = "select username from users where userid=’"+userid+"’";
var rs = oConn.Execute(sql);
if(!rs.EOF)
{
sResult = "Sorry,該用戶名已存在"
}
else
{
//加入容錯.2006-12-25 10:15
sResult = "該用戶可以注冊"
}
//escape解決了XMLHTTP。中文處理的問題.
Response.Write(escape(sResult));
%>
userid:<input type="text" name="userid" onblur="GetResult(document.all.userid.value)"><br>
username:<input type="text" name="username">
下面是server.asp代碼:
<% @Language="JavaScript" %>
<%
function OpenDB(sdbname)
{
var connstr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(sdbname);
var conn = Server.CreateObject("ADODB.Connection");
conn.Open(connstr);
return conn;
}
var sResult = "";
var oConn = OpenDB("data.mdb");
//特殊字符:+,%,&,=,?等的傳輸解決辦法.客戶端字符是經(jīng)過escape編碼的
//所以服務(wù)器端先要經(jīng)過unescape解碼.
//Update:2004-6-1 12:22
var userid = unescape(Request("userid"));
var sql = "select username from users where userid=’"+userid+"’";
var rs = oConn.Execute(sql);
if(!rs.EOF)
{
sResult = "Sorry,該用戶名已存在"
}
else
{
//加入容錯.2006-12-25 10:15
sResult = "該用戶可以注冊"
}
//escape解決了XMLHTTP。中文處理的問題.
Response.Write(escape(sResult));
%>
mdb數(shù)據(jù)庫名:data.mdb
表:users
表結(jié)構(gòu):id(自動編號) userid(文本) username(文本)
到此,源代碼和數(shù)據(jù)庫就完成了,因為用的是:onblur事件,當(dāng)光標(biāo)的焦點離開時,input值會馬上傳到數(shù)據(jù)庫驗證,馬上試試吧!