| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 705 人关注过本帖
标题:用户名检测新问题
只看楼主 加入收藏
piwei8193
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2005-12-18
收藏
 问题点数:0 回复次数:7 
用户名检测新问题
用户名检测问题

——————————reg.asp——————————————————
<HTML>
<HEAD>
<TITLE>用户注册页面</TITLE>
<SCRIPT language="JavaScript">
function Check()
{
if ( reg.username.value==""){
alert ("提示:\n\n请填写需要查询的用户名!");
reg.username.focus();
return false;
}
if (!CheckIfEnglish(reg.username.value ) || reg.username.value.length > 12 || reg.username.value.length < 3) {
alert("提示:\n\n您的用户名不符合规范,必须3-12个英文字母或数字!");
reg.username.focus();
return false;
}
var uName=document.reg.username.value;
window.open("regcheck.asp?username="+uName,"check","width=320,height=100,left=200,top=200");
}

function CheckIfEnglish( String )
{
var Letters = "abcdefghijklmnopqrstuvwxyz0123456789-";
var i;
var c;
if(String.charAt( 0 )=='-')
return false;
if( String.charAt( String.length - 1 ) == '-' )
return false;
for( i = 0; i < String.length; i ++ )
{
c = String.charAt( i );
if (Letters.indexOf( c ) < 0)
return false;
}
return true;
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME = "reg" METHOD="post" ACTION="regsubmit.asp">
<TABLE ALIGN = "center" BORDER = "1">
<TR>
<TD COLSPAN = "3" ALIGN = "center">用户注册表单</TD>
</TR>
<TR>
<TD width="64" ALIGN = "right">用户名:</TD>
<TD width="89"><INPUT TYPE = "text" NAME = "username" size="10"></TD>
<TD width="90"><input type="button" name="Button" value="检测用户名" onClick="return Check();"></TD>
</TR>
<TR>
<TD ALIGN = "right">密码:</TD>
<TD colspan="2"><input type = "password" name = "password"></TD>
</TR>
<TR>
<TD ALIGN = "right">问题:</TD>
<TD colspan="2"><input name="question" type="text" id="question"></TD>
</TR>
<TR>
<TD ALIGN = "right">答案:</TD>
<TD colspan="2"><input name="answer" type="text" id="answer"></TD>
</TR>
<TR>
<TD ALIGN = "center"><INPUT TYPE = "submit" VALUE = "提交"
NAME = "btnSubmit"></TD>
<TD colspan="2" ALIGN = "center"><INPUT TYPE = "reset" VALUE = "全部重写"
NAME = "btnReset"></TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>

——————————regcheck.asp——————————————————
<%
Dim cnn, sSQL,dbpath,username,rs
username=request.QueryString("username")
Set cnn = Server.CreateObject("ADODB.Connection")
dbpath=server.mappath("test.mdb")
cnn.open"driver={microsoft access driver (*.mdb)};dbq="&dbpath
str="select * from webusers where username='"&username&"'"
set rs=server.CreateObject("adodb.recordset")
rs.open str,cnn
if rs.eof or rs.bof then
response.Write("<script language='javascript'>alert('恭喜!你还可以注册该帐号!')</script>")
else
response.Write("<script language='javascript'>alert('请另外选择用户名!')</script>")
end if
%>
以上程序是在表单提交前先判断用户所输入的用户名是否已经被别人注册。我的问题是:
1、怎样才能使得两个提示框(加粗的部分)能在reg.asp页面弹出来,而不是在regcheck.asp中弹出。我在response.writer语句后加了response.redirect("reg.asp"),虽然能跳回到reg.asp,但是却没有提示框弹出来了。这是为什么?
2、我要在alert弹出的提示框中的文本“恭喜!你还可以注册该帐号!”后连上一个变量,变量的值就是用户所输入的用户名,请问怎么做?
请高人赐教!谢谢了

搜索更多相关主题的帖子: 用户名 检测 
2005-12-20 20:09
caiyakang
Rank: 2
等 级:新手上路
威 望:5
帖 子:2111
专家分:0
注 册:2005-3-24
收藏
得分:0 
你的意思是不是在同一个页面验证?

用一个条件判断是否接收到查询
<FORM NAME = "reg" METHOD="post" ACTION="?action=aaa">
if request("reg")="aaa" then
Dim cnn, sSQL,dbpath,username,rs
username=request.QueryString("username")
Set cnn = Server.CreateObject("ADODB.Connection")
dbpath=server.mappath("test.mdb")
cnn.open"driver={microsoft access driver (*.mdb)};dbq="&dbpath
str="select * from webusers where username='"&username&"'"
set rs=server.CreateObject("adodb.recordset")
rs.open str,cnn
if rs.eof or rs.bof then
response.Write("<script language='javascript'>alert('恭喜!你还可以注册该帐号!');</script>")
else
response.Write("<script language='javascript'>alert('用户名!"+username+"已存在');</script>")
end if
end if

[此贴子已经被作者于2005-12-20 22:33:10编辑过]


中国人的财富网:http://www..cn/
2005-12-20 22:27
piwei8193
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2005-12-18
收藏
得分:0 

我是想在同一页中验证

另外,直接这样连变量可以吗,我运行时总是提示“username未定义”。上面定义的username变量的作用域应该不在javascript脚本作用的范围内吧,是不是?还望高人指点!

2005-12-20 22:40
阳光白雪
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:39
帖 子:2220
专家分:0
注 册:2005-11-18
收藏
得分:0 
楼主想在同一个页面不跳转的情况下好像不可以,因为ASP是在服务器端执行的,用户在不提交信息给服务起的情况下是不能调用服务器端的程序的,不过斑竹可以在页面中加一个按钮让用户向服务器提交信息,利用弹出窗口见信息返回给用户~!!

专注于WEB前端交互平台开发:[url=http://blog./]blog.[/url](富客户端技术(RIA)交流平台)
2005-12-20 22:44
piwei8193
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2005-12-18
收藏
得分:0 
阳光白雪:
在页面中加一个按钮让用户向服务器提交信息,利用弹出窗口见信息返回给用户?请问这个具体怎么实现?
好象只能通过超链接想服务器提交参数,如果用按钮的话,怎么做啊?
2005-12-21 14:08
阳光白雪
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:39
帖 子:2220
专家分:0
注 册:2005-11-18
收藏
得分:0 
你说的对就是向服务器提交一个参数,用GET方法提交,将验证的程序也在另外一个页面中(test.asp),这些按钮中家上 onclick="window.open('test.asp?str=doucument.表单名.文本框名.value','弹出窗口的属性参数')",就可以了~~~

专注于WEB前端交互平台开发:[url=http://blog./]blog.[/url](富客户端技术(RIA)交流平台)
2005-12-21 20:45
piwei8193
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2005-12-18
收藏
得分:0 
弹出窗口的属性参数怎么定义?
用window.open吗,那这样有什么作用啊
我还是想要在本页面弹出提示框,显示该用户名是否已经被注册了,而不是在你所说的tesp.asp中啊
2005-12-22 23:46
caiyakang
Rank: 2
等 级:新手上路
威 望:5
帖 子:2111
专家分:0
注 册:2005-3-24
收藏
得分:0 
弹出的是test.asp页面
test.asp这个页面通过对用户名查询,如果存在就显示存在,不存在就显示不存在

中国人的财富网:http://www..cn/
2005-12-23 00:54
快速回复:用户名检测新问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046538 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved