主题:这个怎么改
<%
'检查用户名格式是否正确
Function CheckUserName(uname)
CheckUserName = True
Dim count,lUserName,AscValue
Dim sstr(15)
lUserName = LCase(uname)
'提取每一个字符,存储到数组中
count = Len(lUserName)
For i=1 To count
sstr(i) = Mid(lUserName,i,1)
Next
'依次检验每个字符,必须为字母、数字、或者下划线
For i=1 To count
AscValue = Asc(sstr(i))
If (AscValue < 97 Or AscValue > 122) And (AscValue < 48 Or AscValue > 57) And AscValue <> 95 Then
CheckUserName = False
Exit For
End If
Next
End Function
'检查密码格式是否正确
Function CheckPass(upass)
CheckPass = True
Dim count,lupass,AscValue
Dim sstr(15)
lupass = LCase(upass)
'提取每一个字符,存储到数组中
count = Len(lupass)
For i=1 To count
sstr(i) = Mid(lupass,i,1)
Next
'依次检验每个字符,必须为字母或者数字
For i=1 To count
AscValue = Asc(sstr(i))
If (AscValue < 97 Or AscValue > 122) And (AscValue < 48 Or AscValue > 57) Then
CheckPass = False
Exit For
End If
Next
End Function
'定义变量,以便获取表单参数
Dim UserName,Password,RealName,shengri,tel,add,sex,UserClass
UserName = Request.Form("name")'用户名
Password = Request.Form("passwd")'用户密码
RealName = Request.Form("realname")'用户姓名
shengri = Request.Form("shengri")'用户出生日期
tel = Request.Form("tel")'用户电话
add = Request.Form("add")'用户地址
sex = Request.Form("sex")'用户电话
UserClass = Request.Form("Authority")'用户级别
'对所获得的表单参数进行有效性验证
'用户名不能为空,且只能由有效字符组成
If UserName = Empty Then
Response.Redirect "reg.asp?ErrMsg=请填写用户名"
Response.End()
End If
'用户帐号不可以超过 15 个字符
If Len(UserName) >15 Then
Response.Redirect "reg.asp?ErrMsg=用户名不可以超过 15 个字符"
Response.End()
End If
'用户帐号格式必须正确
If Not(CheckUserName(UserName)) Then
Response.Redirect "reg.asp?ErrMsg=用户帐号应该由英文字母,数字或下划线组成"
Response.End()
End If
'密码不能为空
If Password = Empty Then
Response.Redirect "reg.asp?ErrMsg=请填写用户密码"
Response.End()
End If
'密码不可以超过 15 个字符
If Len(Password) > 15 Then
Response.Redirect "reg.asp?ErrMsg=用户密码不可以超过 15 个字符"
Response.End()
End If
'密码格式必须正确
If Not(CheckPass(Password)) Then
Response.Redirect "reg.asp?ErrMsg=用户密码由字母和数字组成"
Response.End()
End If
'真实姓名必填
If RealName = Empty Then
Response.Redirect "reg.asp?ErrMsg=请填写真实姓名"
Response.End()
End If
'shengri必填
If shengri = Empty Then
Response.Redirect "reg.asp?ErrMsg=请填写出生日期"
Response.End()
End If
'联系电话必填
If tel = Empty Then
Response.Redirect "reg.asp?ErrMsg=请填写联系电话"
Response.End()
End If
'add必填
If add = Empty Then
Response.Redirect "reg.asp?ErrMsg=请填写联系地址"
Response.End()
End If
'定义数据库连接对象,记录集对象,字符串对象
Dim objConn,objRS,strSQL
'初始化数据库连接
DB="./database/Member.mdb"
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DB)
'打开数据库连接
objConn.Open
'SQL语句
strSQL = "SELECT * FROM MEMBER WHERE NAME='" & UserName & "'"
'打开数据集
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, objConn, 1, 3, 1
'如果数据库为空,则表示用户名不存在,可以注册
If objRS.EOF Then
'添加普通用户
objRS.AddNew Array("NAME","PASSWORD","REALNAME","shengri","tel","add","sex"), _
Array(UserName, Password,RealName,shengri,tel,add,sex)
'更新数据库,插入数据
objRS.Update
End If
'关闭连接
objRS.Close
'重新打开数据库
objRS.Open strSQL, objConn, 1, 3, 1
'获取用户信息,并将这些信息写入Session
If Session("IsPassed") <> True Then
Session("Id") = CStr(objRS.Fields("ID"))
Session("Name")=UserName
Session("IsPassed") = True
If UserClass = "2" Then
Session("IsAdmin") = True
Session("Class") = "2"
Else
Session("IsAdmin") = False
Session("Class") = "9"
End If
End If
'关闭数据集和数据库连接,并释放对象
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
'重导向到系统主页面
Response.Redirect "index.asp"
Response.End()
'提示用户所选择的帐号已存在,并退回上一页
%>
<html>
<body>
<script language="vbscript">
<!--
Window.alert "您所使用的帐号已经被他人注册了,请使用其他帐号。"
History.back
-->
</script>
</body>
</html>
'检查用户名格式是否正确
Function CheckUserName(uname)
CheckUserName = True
Dim count,lUserName,AscValue
Dim sstr(15)
lUserName = LCase(uname)
'提取每一个字符,存储到数组中
count = Len(lUserName)
For i=1 To count
sstr(i) = Mid(lUserName,i,1)
Next
'依次检验每个字符,必须为字母、数字、或者下划线
For i=1 To count
AscValue = Asc(sstr(i))
If (AscValue < 97 Or AscValue > 122) And (AscValue < 48 Or AscValue > 57) And AscValue <> 95 Then
CheckUserName = False
Exit For
End If
Next
End Function
'检查密码格式是否正确
Function CheckPass(upass)
CheckPass = True
Dim count,lupass,AscValue
Dim sstr(15)
lupass = LCase(upass)
'提取每一个字符,存储到数组中
count = Len(lupass)
For i=1 To count
sstr(i) = Mid(lupass,i,1)
Next
'依次检验每个字符,必须为字母或者数字
For i=1 To count
AscValue = Asc(sstr(i))
If (AscValue < 97 Or AscValue > 122) And (AscValue < 48 Or AscValue > 57) Then
CheckPass = False
Exit For
End If
Next
End Function
'定义变量,以便获取表单参数
Dim UserName,Password,RealName,shengri,tel,add,sex,UserClass
UserName = Request.Form("name")'用户名
Password = Request.Form("passwd")'用户密码
RealName = Request.Form("realname")'用户姓名
shengri = Request.Form("shengri")'用户出生日期
tel = Request.Form("tel")'用户电话
add = Request.Form("add")'用户地址
sex = Request.Form("sex")'用户电话
UserClass = Request.Form("Authority")'用户级别
'对所获得的表单参数进行有效性验证
'用户名不能为空,且只能由有效字符组成
If UserName = Empty Then
Response.Redirect "reg.asp?ErrMsg=请填写用户名"
Response.End()
End If
'用户帐号不可以超过 15 个字符
If Len(UserName) >15 Then
Response.Redirect "reg.asp?ErrMsg=用户名不可以超过 15 个字符"
Response.End()
End If
'用户帐号格式必须正确
If Not(CheckUserName(UserName)) Then
Response.Redirect "reg.asp?ErrMsg=用户帐号应该由英文字母,数字或下划线组成"
Response.End()
End If
'密码不能为空
If Password = Empty Then
Response.Redirect "reg.asp?ErrMsg=请填写用户密码"
Response.End()
End If
'密码不可以超过 15 个字符
If Len(Password) > 15 Then
Response.Redirect "reg.asp?ErrMsg=用户密码不可以超过 15 个字符"
Response.End()
End If
'密码格式必须正确
If Not(CheckPass(Password)) Then
Response.Redirect "reg.asp?ErrMsg=用户密码由字母和数字组成"
Response.End()
End If
'真实姓名必填
If RealName = Empty Then
Response.Redirect "reg.asp?ErrMsg=请填写真实姓名"
Response.End()
End If
'shengri必填
If shengri = Empty Then
Response.Redirect "reg.asp?ErrMsg=请填写出生日期"
Response.End()
End If
'联系电话必填
If tel = Empty Then
Response.Redirect "reg.asp?ErrMsg=请填写联系电话"
Response.End()
End If
'add必填
If add = Empty Then
Response.Redirect "reg.asp?ErrMsg=请填写联系地址"
Response.End()
End If
'定义数据库连接对象,记录集对象,字符串对象
Dim objConn,objRS,strSQL
'初始化数据库连接
DB="./database/Member.mdb"
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DB)
'打开数据库连接
objConn.Open
'SQL语句
strSQL = "SELECT * FROM MEMBER WHERE NAME='" & UserName & "'"
'打开数据集
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, objConn, 1, 3, 1
'如果数据库为空,则表示用户名不存在,可以注册
If objRS.EOF Then
'添加普通用户
objRS.AddNew Array("NAME","PASSWORD","REALNAME","shengri","tel","add","sex"), _
Array(UserName, Password,RealName,shengri,tel,add,sex)
'更新数据库,插入数据
objRS.Update
End If
'关闭连接
objRS.Close
'重新打开数据库
objRS.Open strSQL, objConn, 1, 3, 1
'获取用户信息,并将这些信息写入Session
If Session("IsPassed") <> True Then
Session("Id") = CStr(objRS.Fields("ID"))
Session("Name")=UserName
Session("IsPassed") = True
If UserClass = "2" Then
Session("IsAdmin") = True
Session("Class") = "2"
Else
Session("IsAdmin") = False
Session("Class") = "9"
End If
End If
'关闭数据集和数据库连接,并释放对象
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
'重导向到系统主页面
Response.Redirect "index.asp"
Response.End()
'提示用户所选择的帐号已存在,并退回上一页
%>
<html>
<body>
<script language="vbscript">
<!--
Window.alert "您所使用的帐号已经被他人注册了,请使用其他帐号。"
History.back
-->
</script>
</body>
</html>