求助:输入错误时不能返回注册页面
源程序为:<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.
<!--#include file="../Connections/conn.asp" -->
<%
' *** Edit Operations: declare variables
Dim MM_editAction
Dim MM_abortEdit
Dim MM_editQuery
Dim MM_editCmd
Dim MM_editConnection
Dim MM_editTable
Dim MM_editRedirectUrl
Dim MM_editColumn
Dim MM_recordId
Dim MM_fieldsStr
Dim MM_columnsStr
Dim MM_fields
Dim MM_columns
Dim MM_typeArray
Dim MM_formVal
Dim MM_delim
Dim MM_altVal
Dim MM_emptyVal
Dim MM_i
MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)
End If
' boolean to abort record edit
MM_abortEdit = false
' query string to execute
MM_editQuery = ""
%>
<%
' *** Redirect if username exists
MM_flag="MM_insert"
If (CStr(Request(MM_flag)) <> "") Then
MM_dupKeyRedirect="registNo.html"
MM_rsKeyConnection=MM_conn_STRING
MM_dupKeyUsernameValue = CStr(Request.Form("name"))
MM_dupKeySQL="SELECT name FROM user WHERE name='" & MM_dupKeyUsernameValue & "'"
MM_adodbRecordset="ADODB.Recordset"
set MM_rsKey=Server.CreateObject(MM_adodbRecordset)
MM_rsKey.ActiveConnection=MM_rsKeyConnection
MM_rsKey.Source=MM_dupKeySQL
MM_rsKey.CursorType=0
MM_rsKey.CursorLocation=2
MM_rsKey.LockType=3
MM_rsKey.Open
If Not MM_rsKey.EOF Or Not MM_rsKey.BOF Then
' the username was found - can not add the requested username
MM_qsChar = "?"
If (InStr(1,MM_dupKeyRedirect,"?") >= 1) Then MM_qsChar = "&"
MM_dupKeyRedirect = MM_dupKeyRedirect & MM_qsChar & "requsername=" & MM_dupKeyUsernameValue
Response.Redirect(MM_dupKeyRedirect)
End If
MM_rsKey.Close
End If
%>
<%
' *** Insert Record: set variables
If (CStr(Request("MM_insert")) = "Form") Then
MM_editConnection = MM_conn_STRING
MM_editTable = "user"
MM_editRedirectUrl = "registOk.html"
MM_fieldsStr = "name|value|password|value|sex|value|age|value|born|value|QQ|value|email|value|record|value|question|value|answer|value|msn|value|url|value|content|value"
MM_columnsStr = "name|',none,''|pwd|',none,''|sex|',none,''|age|none,none,NULL|born|',none,NULL|QQ|none,none,NULL|email|',none,''|record|',none,''|question|',none,''|answer|',none,''|MSN|',none,''|url|',none,''|content|',none,''"
' create the MM_fields and MM_columns arrays
MM_fields = Split(MM_fieldsStr, "|")
MM_columns = Split(MM_columnsStr, "|")
' set the form values
For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))
Next
' append the query string to the redirect URL
If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End If
End If
%>
<%
' *** Insert Record: construct a sql insert statement and execute it
Dim MM_tableValues
Dim MM_dbValues
If (CStr(Request("MM_insert")) <> "") Then
' create the sql insert statement
MM_tableValues = ""
MM_dbValues = ""
For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_formVal = MM_fields(MM_i+1)
MM_typeArray = Split(MM_columns(MM_i+1),",")
MM_delim = MM_typeArray(0)
If (MM_delim = "none") Then MM_delim = ""
MM_altVal = MM_typeArray(1)
If (MM_altVal = "none") Then MM_altVal = ""
MM_emptyVal = MM_typeArray(2)
If (MM_emptyVal = "none") Then MM_emptyVal = ""
If (MM_formVal = "") Then
MM_formVal = MM_emptyVal
Else
If (MM_altVal <> "") Then
MM_formVal = MM_altVal
ElseIf (MM_delim = "'") Then ' escape quotes
MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"
Else
MM_formVal = MM_delim + MM_formVal + MM_delim
End If
End If
If (MM_i <> LBound(MM_fields)) Then
MM_tableValues = MM_tableValues & ","
MM_dbValues = MM_dbValues & ","
End If
MM_tableValues = MM_tableValues & MM_columns(MM_i)
MM_dbValues = MM_dbValues & MM_formVal
Next
MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"
If (Not MM_abortEdit) Then
' execute the insert
Set MM_editCmd = Server.CreateObject(")
MM_editCmd.ActiveConnection = MM_editConnection
MM_ = MM_editQuery
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close
If (MM_editRedirectUrl <> "") Then
Response.Redirect(MM_editRedirectUrl)
End If
End If
End If
%>
<%
Dim Recordset1
Dim Recordset1_numRows
Set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = MM_conn_STRING
Recordset1.Source = "SELECT * FROM user"
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 1
Recordset1.Open()
Recordset1_numRows = 0
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>用户注册</title>
<style type="text/css">
<!--
.style5 {color: #0000FF}
.style9 {font-size: 9pt; color: #0000FF; }
.style4 {font-family: Arial;
font-size: 9pt;
color: #0000FF;
}
.style10 { color: #FFFFFF;
font-weight: bold;
font-size: 14pt;
}
.style37 {font-size: 9pt}
-->
</style>
<script type="text/javascript">
function checkform(fName,obj,minl,maxl,hideCode)
{
switch(fName)
{
case "email"://验证电子邮件
return(checkEmail(obj,minl,maxl,hideCode));
break;
case "name"://验证用户名
return(checkName(obj,minl,maxl,hideCode));
break;
case "password"://验证密码
return(checkpassword(obj,minl,maxl,hideCode));
break;
case "QQ"://验证QQ
return(checkQQ(obj,minl,maxl,hideCode));
break;
case "textlength"://限制字数
return(checkCodeLength(obj,minl,maxl,hideCode));
break;
default:
alert("程序引用错误,需要的参数只能为:\n1.")
return;
break;
}
}
function checkName(obj,Minl,Maxl,hideCode)
{
//验证用户名程序,限制只能输入英文或数字
var objvalue=obj.value;
if(objvalue.length<Minl||objvalue.length>Maxl)
{
alert("用户名长度限于"+Minl+"个和"+Maxl+"个字符之间,请重新输入");
obj.focus();
return false;
}
var reg=/^\w+$/
if(!reg.test(objvalue))
{
alert("用户名只允许包含数字,英文或下划线");
obj.focus();
return false;
}
}
//if Request.Form("name")="" then
//Response.write "用户名不能为为空"
//end if
function checkpassword(obj,Minl,Maxl,hideCode)
{
//验证密码程序,限制只能输入英文或数字
var objvalue=obj.value;
var iptpassword=document.getElementById("password");
var iptpassword2=document.getElementById("password2");
if(iptpassword.value!=iptpassword2.value)
{
alert('两次输入的密码不一致');
}
if(objvalue.length<Minl||objvalue.length>Maxl)
{
alert("密码长度限于"+Minl+"个和"+Maxl+"个字符之间,请重新输入");
obj.focus();
return false;
}
}
function checkEmail(obj,Minl,Maxl,hideCode)
{
//验证EMAIL程序
var objvalue=obj.value;
if(objvalue.length<Minl||objvalue.length>Maxl)
{
alert("对不起,电子邮件字符长度不应该小于"+Minl+"或不应该长于"+Maxl+"个字符");
obj.focus();
return false;
}
var reg=/^\w+@\w+.(\w+.\w+|\w+)$/;
if(!reg.test(objvalue))
{
alert("请正确输入电子邮件地址");
obj.focus();
return false;
}
}
function checkCodeLength(obj,Minl,Maxl,hideCode)
{
//验证字数程序
var valueLength=obj.value.length;
if(valueLength<Minl||valueLength>Maxl)
{
alert("对不起,您输入的长度不符合要求,不应该少于"+Minl+"个字符或多于"+Maxl+"个字符");
obj.focus();
return false;
}
}
function checkQQ(obj,Minl,Maxl,hideCode)
{
//验证QQ程序
var objvalue=obj.value;
var reg=/[1-9^0]\d{5,10}/
if(!reg.test(objvalue))
{
alert("QQ必须为5-10位数字,且第一个数字不能为0");
return false;
}
}
//调用程序
function thisForm()
{
var iptName=document.getElementById("name");
var iptpassword=document.getElementById("password");
var iptpassword2=document.getElementById("password2"); //password2为确认密码
var iptEmail=document.getElementById("Email");
var iptQQ=document.getElementById("QQ");
if(checkform("name",iptName,6,16,""))
{
return false;
}
if(checkform("password",iptName,4,10,""))
{
return false;
}
if(checkform("email",iptEmail,10,30,""))
{
return false;
}
if(checkform("QQ",iptQQ,5,10,""))
{
return false;
}
}
</script>
</head>
<body>
</td>
<td width="235" style="font-size:12px; color:#f00;" align="right">
<div align="center" class="style5" id="Clock">
<div align="left">
<script>
<FORM ACTION="<%=MM_editAction%>" METHOD="POST" name=Form onSubmit="return thisForm()">
<TABLE width=767 border=0 align="center" cellpadding="0" cellspacing="3" bgcolor="#CCFFFF" style="FONT-SIZE: 12px">
<TBODY>
<TR>
<TD width="177" align=right><div align="right"><span class="style9">用户名:</span></div></TD>
<TD width="169">
<div align="left">
<input name="name" type="text" id="name2">
</div></TD>
<TD width="391">
<DIV id=test1Tip style="WIDTH: 250px; font-size: 9pt; font-family: Arial; color: #0000FF;">
<div align="left">选择一个您喜欢的6到12位用户名</div>
</DIV></TD>
</TR>
<TR>
<TD align=right><span class="style9">密码:</span></TD>
<TD><div align="left">
<input name="password" type="password" id="password">
</div></TD>
<TD width="391">
<DIV id=test1Tip style="WIDTH: 250px; font-size: 9pt; font-family: Arial; color: #0000FF;">
<div align="left">您的密码(4到10位)</div>
</DIV></TD>
</TR>
<TR>
<TD align=right><span class="style9">重复密码:</span></TD>
<TD><div align="left">
<input name="password2" type="password" id="password2">
</div></TD>
<TD width="391">
<DIV id=test1Tip style="WIDTH: 250px; font-size: 9pt; font-family: Arial; color: #0000FF;">
<div align="left">重复您的密码</div>
</DIV></TD>
</TR>
<TR>
<TD align=right><span class="style9">你的性别:</span></TD>
<TD>
<div align="left">
<input name=sex type=radio id=radio value=男 checked>
<span class="style5"> 男
<input id=sex1 type=radio value=女 name=sex>
女
<input type="radio" name="sex" value="保密">
保密 </span></div></TD>
<TD>
<DIV id=sexTip style="WIDTH: 250px; font-size: 9pt; font-family: Arial; color: #0000FF;">
<div align="left">选择性别</div>
</DIV></TD>
</TR>
<TR>
<TD align=right><span class="style9">你的年龄:</span></TD>
<TD><div align="left">
<input name="age" type="text" id="age">
</div></TD>
<TD width="391">
<DIV id=test1Tip style="WIDTH: 250px; font-size: 9pt; font-family: Arial; color: #0000FF;">
<div align="left">您的年龄</div>
</DIV></TD>
</TR>
<TR>
<TD align=right><div align="right" class="style9">出生日期:</div></TD>
<TD><div align="left">
<input name="born" type="text" id="born">
</div></TD>
<TD>
<DIV id=csnyTip style="WIDTH: 250px; font-size: 9pt; font-family: Arial; color: #0000FF;">
<div align="left">日期的有效形式为:1982-09-21</div>
</DIV></TD>
</TR>
<TR>
<TD align=right><div align="right" class="style9">QQ:</div></TD>
<TD><div align="left">
<input name="QQ" type="text" id="QQ">
</div></TD>
<TD>
<DIV id=sfzhTip style="WIDTH: 250px; font-size: 9pt; font-family: Arial; color: #0000FF;">
<div align="left">由6到10位数字组成的QQ号</div>
</DIV></TD>
</TR>
<TR>
<TD align=right><span class="style9">电子邮箱:</span></TD>
<TD><div align="left">
<input name="email" type="text" id="email">
</div></TD>
<TD>
<DIV id=emailTip style="WIDTH: 250px; font-size: 9pt; font-family: Arial; color: #0000FF;">
<div align="left">有效的电子邮箱地址</div>
</DIV></TD>
</TR>
<TR>
<TD align=right><span class="style9">你的学历:</span></TD>
<TD>
<div align="left">
<select name=record id=select>
<option selected>-请选择学历-</option>
<option value="高中">高中</option>
<option value="专科">专科</option>
<option value="本科">本科</option>
<option value="研究生">研究生</option>
<option value="硕士">硕士</option>
<option value="博士">博士</option>
</select>
</div></TD>
<TD>
<DIV id=xueliTip style="WIDTH: 250px; font-size: 9pt; font-family: Arial; color: #0000FF;">
<div align="left">请选择您的学历</div>
</DIV></TD>
</TR>
<TR>
<TD align=right><span class="style9">密码问题提示:</span></TD>
<TD><div align="left">
<input name="question" type="text" id="question">
</div></TD>
<TD>
<DIV id=shoujiTip style="WIDTH: 250px; font-size: 9pt; font-family: Arial; color: #0000FF;">
<div align="left">忘记密码找回时用。如:我的名字</div>
</DIV></TD>
</TR>
<TR>
<TD align=right><span class="style9">密码问题答案:</span></TD>
<TD>
<div align="left">
<input name="answer" type="text" id="answer">
</div></TD>
<TD>
<DIV id=lxdhTip style="WIDTH: 250px; font-size: 9pt; font-family: Arial; color: #0000FF;">
<div align="left">找回密码。答案如:王杰</div>
</DIV></TD>
</TR>
<TR>
<TD align=right><span class="style5">MSN</span><span class="style9">:</span></TD>
<TD><div align="left">
<input name="msn" type="text" id="msn">
</div></TD>
<TD width="391">
<DIV id=test1Tip style="WIDTH: 250px; font-size: 9pt; font-family: Arial; color: #0000FF;">
<div align="left">您的MSN帐号</div>
</DIV></TD>
</TR>
<TR>
<TD align=right><span class="style5"><span class="style9">个人主页:</span></span></TD>
<TD><div align="left">
<input name="url" type="text" id="url" value="http://">
</div></TD>
<TD width="391">
<DIV id=test1Tip style="WIDTH: 250px; font-size: 9pt; font-family: Arial; color: #0000FF;">
<div align="left">您的网页地址</div>
</DIV></TD>
</TR>
<TR>
<TD align=right vAlign=top><span class="style9">你的描述:</span></TD>
<TD vAlign=top colSpan=2><div align="left">
<TEXTAREA name="content" cols=50 rows=10>这个人比较懒,什么也没有留下。</TEXTAREA>
</div></TD>
</TR>
<TR>
<TD colspan="3" align=right vAlign=top><div align="center">
<INPUT name="submit" type=submit id=button2 value=同意注册协议,现在注册 >
<input type="reset" name="Submit" value="重置">
<span class="style5"><a href="../index.asp">返回</a></span></div></TD>
</TR>
</TBODY>
</TABLE>
<p align="center">
<input type="hidden" name="MM_insert" value="Form">
</p>
</form>
<table width="816" border="0" align="center" cellspacing="1">
<tr>
<td width="812"><div align="center">
<p align="center" class="style4">本站部分内容收集于互联网,如果有不妥之处,敬请谅解。如有侵权内容,请联系我们删除。</p>
<p align="center" class="style4">Copyright © 2008-2018 , All Rights Reserved</p>
<p align="center"><span class="style37"><a href="http://www.miibeian. class="style4">辽ICP备08007090号</a></span></p>
</div></td>
</tr>
</table>
<p align="center"> </p>
<p> </p>
</body>
</html>
<%
Recordset1.Close()
Set Recordset1 = Nothing
%>
请各位大侠帮忙给指出如何修改,先谢谢了!!!