下载了FTBBS的论坛,一段代码不知道,具体如下
在用户注册页上(register.asp)有个表单,代码如下:
<input type="text" name="name" size="15" />
<input type="button" value="检测用户名是否存在" onclick="chkuser();" class="button" name="Button" />
<script language="JavaScript" type="text/javascript">
<!--
function chkuser()
{
var uname;
uname=form1.name.value;
if (uname=="")
{
alert("您的用户名为空");
form1.name.focus();
return false;
}
else
{
window.open("checkusername.asp?searchid=" + uname ,"","width=200,height=2,top=1000,left=5000");
}
}
//-->
</script>
这段代码的意思我试了一下是输入用户名旁边的一个按钮,如果用户名没填写就一个警告框“您的用户名为空”,否则就去数据库里验证该用户名是否已被注册掉,
从“window.open("checkusername.asp?searchid=" + uname ,"","width=200,height=2,top=1000,left=5000");
就知道验证的代码在checkusername.asp上,checkusername.asp和register.asp都在/BBS/下面一级。
checkusername.asp代码如下:
<!--#include file="../inc/conn.asp"-->
<%
username=trim(request("searchid"))
sql="select * from clubuser where clubuser_name='" & username & "'"
set rs=server.CreateObject("adodb.recordset")
rs.open sql,conn,1,1
if not rs.eof then
msg="很遗憾,'" & username & "' 已经被注册!"
else
msg="恭喜你,'" & username & "' 还没被抢注!"
end if
rs.close
set rs=nothing
%>
<html>
<script language="JavaScript">
alert("<%=msg%>");
window.close();
</script>
</html>
问题是我不知道这个username=trim(request("searchid"))里的searchid是怎么出来的,所有输入的表但里面都没有这么个名字,有高手知道吗?
參考答案:注意这里的表单传递数据是通过URL的方式传递的。
你说的 searchid 就是URL中传递的数据,其值与 uname 相等。你可以从下面的语言中看到。
window.open("checkusername.asp?searchid=" + uname ,"","width=200,height=2,top=1000,left=5000")
checkusername.asp?searchid=" + uname 这个就是传递数据的URL