最近做项目,中间设计到用户在线提交订单;本来客户的要求很简单,可能被我做复杂了,结果确实我只用一个页面就完成了所有的功能,贴出来献丑了;为了赶时间,还没有集成分页功能,所以无论在公用页面读取现有的项目的时候,或者还是在个人页面读取现有的数据,都没有分页,而是采用了select top 10 * title From table的方法……等有时间了,再集成分页吧
主要代码如下:
<!--#include file="Inc/Const.asp"-->
<table width="485" height="400" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="12"> </td>
<td width="459" valign="top"><br>
<%
Dim Action,Action1
Action=Request("Action")
Select Case Action
Case "Reg"
Call Reg()
Case "SaveReg"
Call SaveReg()
Case "Login"
Call Login()
Case "ChkLogin"
Call ChkLogin()
Case "AddOrder"
Call AddOrder()
Case "SaveOrder"
Call SaveOrder()
Case "Success"
Call Success()
Case "ModyOrder"
Call ModyOrder()
Case "SaveMody"
Call SaveMody()
Case "DelOrder"
Call DelOrder()
Case "LoginOut"
Call LoginOut()
Case "ShowOrder"
Call ShowOrder()
Case Else
Call Main()
End Select
'++++++++++++++++++++++++++++主函数开始
Sub Main()
%>
<% '++++++++++++++++++++++主函数开始%>
<table width="400" border="1" align="center" cellpadding="5" cellspacing="0" bordercolor="f5f5f5" style="border-collapse:collapse">
<tr class="table_row_1">
<td height="30"><font color="FF6633">所有订单如下:</font></td>
</tr>
<%sql="select top 8 OrderComName,OrderClass,OrderId From [Order] order by Orderid desc"
Set rs= Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,1
if rs.eof and rs.bof then
response.write "<p align='center'><font color=red> 对不起,没有找到任何订单</font></p>"
else
do while not rs.eof%>
<tr class="table_row_1">
<td height="30"><a href="Order.asp?OrderId=<%=Rs("OrderId")%>&Action=ShowOrder"><%=rs("OrderComName")&"-----"&rs("OrderClass")%></a></td>
</tr>
<%Rs.movenext
loop
rs.close
set rs=nothing
end If
%>
</table>
<p> </p>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="20%">
<form name="Main1" method="post" action="?">
<div align="center">
<input type="submit" name="Main1" value="管理我的订单" class="button">
<input type="hidden" name="Action" value="Login">
</div>
</form></td>
<td><form name="Main2" method="post" action="?">
<div align="center">
<input type="submit" name="Main2" value="新用户注册" class="button">
<input type="hidden" name="Action" value="Reg">
</div>
</form></td>
</tr>
</table>
<br><%
End Sub
'++++++++++++++++++++++++++++主函数结束
'++++++++++++++++++++++++++++用户注册函数开始
Sub Reg()
%>
<form name="reg" method="post" action="?">
<table width="400" border="0" align="center" cellpadding="5" cellspacing="0">
<tr class="table_row_1">
<td colspan="2"><div align="center"><strong><font color="#FF6633">用
户 注 册</font></strong></div></td>
</tr>
<tr class="table_row_1">
<td width="200"><div align="right">用户名: </div></td>
<td><input name="UserName" type="text" class="editbox" id="UserName" size="16"></td>
</tr>
<tr class="table_row_1">
<td><div align="right">密 码: </div></td>
<td><input name="Password" type="password" class="editbox" id="Password" size="16"></td>
</tr>
<tr class="table_row_1">
<td colspan="2"><div align="center">
<input type="hidden" name="Action" value="SaveReg">
<input type="submit" name="SubmitReg" value="提交" class="button">
<input type="Reset" name="ResetReg" value="取消" class="button">
</div></td>
</tr>
</table>
</form>
<%
End Sub
'++++++++++++++++++++++++++++用户注册函数结束
'++++++++++++++++++++++++++保存注册信息开始
Sub SaveReg()
UserName=Trim(Request.Form("UserName"))
Password=Trim(Request.Form("Password"))
If UserName="" Or Len(UserName)=0 or Len(UserName)>16 or UserName="Admin" or UserName="admin" Then
ErrorMsg1=true
Else
ErrorMsg1=False
End If
If Password="" Or Len(Password)=0 or Len(Password)<6 Or Len(Password)>16 then
ErrorMsg2=true
Else
ErrorMsg2=False
End If
If ErrorMsg1=True or ErrorMsg2=True then
Response.Write("<li>用户名长度必须大于0,小于20</li>")
Response.Write("<li>密码不能为空,长度必须大于6,小于16</li>")
Response.Write("<p align='center'><a href='#' OnClick='vbscript:history.back()'>【返回】</a></p>")
End If
If (ErrorMag1=false and ErrorMsg2=false) Then
Set RsReg=Server.CreateObject("Adodb.Recordset")
SqlReg="Select * From [User] Where Username='"&UserName&"' "
RsReg.Open sqlReg,Conn,1,3
If Not (RsReg.Eof or RsReg.Bof) Then
Response.Write("对不起,你的用户名已经被他人使用!")
Response.Write("<p align='center'><a href='#' OnClick='vbscript:history.back()'>【返回】</a></p>")
Response.End()
Else
RsReg.AddNew
RsReg("UserName")=UserName
RsReg("Password")=Password
RsReg.Update
End If
RsReg.Close
Set RsReg=Nothing
Session("UserName")=UserName
Call Success()
End If
End Sub
'++++++++++++++++++++++++++保存注册信息完毕
'++++++++++++++++++++++++++登陆开始
Sub Login()
%>
<form name="Login" method="post" action="?">
<table width="400" border="0" align="center" cellpadding="5" cellspacing="0">
<tr class="table_row_1">
<td colspan="2"><div align="center"><strong><font color="#FF6633
<table width="485" height="400" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="12"> </td>
<td width="459" valign="top"><br>
<%
Dim Action,Action1
Action=Request("Action")
Select Case Action
Case "Reg"
Call Reg()
Case "SaveReg"
Call SaveReg()
Case "Login"
Call Login()
Case "ChkLogin"
Call ChkLogin()
Case "AddOrder"
Call AddOrder()
Case "SaveOrder"
Call SaveOrder()
Case "Success"
Call Success()
Case "ModyOrder"
Call ModyOrder()
Case "SaveMody"
Call SaveMody()
Case "DelOrder"
Call DelOrder()
Case "LoginOut"
Call LoginOut()
Case "ShowOrder"
Call ShowOrder()
Case Else
Call Main()
End Select
'++++++++++++++++++++++++++++主函数开始
Sub Main()
%>
<% '++++++++++++++++++++++主函数开始%>
<table width="400" border="1" align="center" cellpadding="5" cellspacing="0" bordercolor="f5f5f5" style="border-collapse:collapse">
<tr class="table_row_1">
<td height="30"><font color="FF6633">所有订单如下:</font></td>
</tr>
<%sql="select top 8 OrderComName,OrderClass,OrderId From [Order] order by Orderid desc"
Set rs= Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,1
if rs.eof and rs.bof then
response.write "<p align='center'><font color=red> 对不起,没有找到任何订单</font></p>"
else
do while not rs.eof%>
<tr class="table_row_1">
<td height="30"><a href="Order.asp?OrderId=<%=Rs("OrderId")%>&Action=ShowOrder"><%=rs("OrderComName")&"-----"&rs("OrderClass")%></a></td>
</tr>
<%Rs.movenext
loop
rs.close
set rs=nothing
end If
%>
</table>
<p> </p>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="20%">
<form name="Main1" method="post" action="?">
<div align="center">
<input type="submit" name="Main1" value="管理我的订单" class="button">
<input type="hidden" name="Action" value="Login">
</div>
</form></td>
<td><form name="Main2" method="post" action="?">
<div align="center">
<input type="submit" name="Main2" value="新用户注册" class="button">
<input type="hidden" name="Action" value="Reg">
</div>
</form></td>
</tr>
</table>
<br><%
End Sub
'++++++++++++++++++++++++++++主函数结束
'++++++++++++++++++++++++++++用户注册函数开始
Sub Reg()
%>
<form name="reg" method="post" action="?">
<table width="400" border="0" align="center" cellpadding="5" cellspacing="0">
<tr class="table_row_1">
<td colspan="2"><div align="center"><strong><font color="#FF6633">用
户 注 册</font></strong></div></td>
</tr>
<tr class="table_row_1">
<td width="200"><div align="right">用户名: </div></td>
<td><input name="UserName" type="text" class="editbox" id="UserName" size="16"></td>
</tr>
<tr class="table_row_1">
<td><div align="right">密 码: </div></td>
<td><input name="Password" type="password" class="editbox" id="Password" size="16"></td>
</tr>
<tr class="table_row_1">
<td colspan="2"><div align="center">
<input type="hidden" name="Action" value="SaveReg">
<input type="submit" name="SubmitReg" value="提交" class="button">
<input type="Reset" name="ResetReg" value="取消" class="button">
</div></td>
</tr>
</table>
</form>
<%
End Sub
'++++++++++++++++++++++++++++用户注册函数结束
'++++++++++++++++++++++++++保存注册信息开始
Sub SaveReg()
UserName=Trim(Request.Form("UserName"))
Password=Trim(Request.Form("Password"))
If UserName="" Or Len(UserName)=0 or Len(UserName)>16 or UserName="Admin" or UserName="admin" Then
ErrorMsg1=true
Else
ErrorMsg1=False
End If
If Password="" Or Len(Password)=0 or Len(Password)<6 Or Len(Password)>16 then
ErrorMsg2=true
Else
ErrorMsg2=False
End If
If ErrorMsg1=True or ErrorMsg2=True then
Response.Write("<li>用户名长度必须大于0,小于20</li>")
Response.Write("<li>密码不能为空,长度必须大于6,小于16</li>")
Response.Write("<p align='center'><a href='#' OnClick='vbscript:history.back()'>【返回】</a></p>")
End If
If (ErrorMag1=false and ErrorMsg2=false) Then
Set RsReg=Server.CreateObject("Adodb.Recordset")
SqlReg="Select * From [User] Where Username='"&UserName&"' "
RsReg.Open sqlReg,Conn,1,3
If Not (RsReg.Eof or RsReg.Bof) Then
Response.Write("对不起,你的用户名已经被他人使用!")
Response.Write("<p align='center'><a href='#' OnClick='vbscript:history.back()'>【返回】</a></p>")
Response.End()
Else
RsReg.AddNew
RsReg("UserName")=UserName
RsReg("Password")=Password
RsReg.Update
End If
RsReg.Close
Set RsReg=Nothing
Session("UserName")=UserName
Call Success()
End If
End Sub
'++++++++++++++++++++++++++保存注册信息完毕
'++++++++++++++++++++++++++登陆开始
Sub Login()
%>
<form name="Login" method="post" action="?">
<table width="400" border="0" align="center" cellpadding="5" cellspacing="0">
<tr class="table_row_1">
<td colspan="2"><div align="center"><strong><font color="#FF6633