购物小车 tsdg.asp 的代码
<%
'过期时间为0,每次浏览都重新下载页面
response.expires=0
%>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<TITLE>购物小车</TITLE>
</HEAD>
<BODY LINK="#0000ff" VLINK="#800080" BACKGROUND="../cys.jpg">
<p align="center">
<center>
<a href="../index.asp">返回主页</a>|<a href="wssd.asp">返回上页</a>
<a href="xsjs.asp">新书介绍</a>|<a href="whjy.asp">文化教育</a>|
<a href="dzjc.asp">大专教材</a>|<a href="kxjs.asp">科学技术</a>|
<a href="sfkx.asp">社会科学</a>|<a href="mailto:fsxss@tom.com">联系我们</a>
</p></center>
<p align="center">
<center>
<a href="yfzc.asp">用户注册</a>|<a href="gszn.asp">购书指南</a>|
<a href="tsdg.asp">图书定购</a>|<a href="ckdd.asp">查看订单</a>|
<a href="wszf.asp">支付方式</a>|<a href="tsps.asp">图书配送</a>|
<a href="shfw.asp">售后服务</a>|<a href="yfly.asp">用户留言</a>
</p></center>
<%
'定义日期时间
today=formatdatetime(now(),1)&formatdatetime(now(),3)
'1.创建连接对象 Connection
set cn=Server.CreateObject("ADODB.Connection")
cn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE="&server.MapPath("/fsxss/mdb/wssdk.mdb")
'2.创建记录集对象 Recordset
set rs=Server.CreateObject("ADODB.Recordset")
'3.打开计数表
rs.open"select 计数 from 计数表",cn,3
%>
<p><center><a href="wssd.asp">网络天地书店</a>
日期时间:<%response.write today %> 计数器:<% =rs("计数")%>
</center>
<p>
<%
rs.close
'1.定义变量和数组
'书袋已满、书袋无书、用户操作、图书号、图书名称、定购数量、合计金额、总计金额、已选图书
dim sdym,sdws,yfcz,tsh(10),tsmc(10),dgsl(10),hjje(10),zjje,yxts
'2.session("firstselect")为真标志是第一次选书
' 第一次选书,初始化图书号、定购数量数组,
'否则,用 session 保存的值赋值给图书号、定购数量数组。
' 网页间传递变量的会话 Session 对象存储用户会话信息。
' Session 要求浏览器支持 Cookie。
if session("firstselect")="" then session("firstselect")=true
if session("firstselect")=true then
for i=0 to 9
tsh(i)=0
dgsl(i)=0
hjje(i)=0
next
else
for i=0 to 9
' 第i个会话值赋值给第i个数组元素
tsh(i)=session("tsh")(i)
dgsl(i)=session("dgsl")(i)
next
end if
'3.检测到已购10种书时,指定为书袋已满,sdym 为真。
for i=0 to 9
if tsh(i)=0 then
sdym=false
exit for
end if
sdym=true
next
'4.使用用户提交的方法对用户操作 yfcz 变量赋值,
'用 select 分支选择功能:选书、删除、全部删除
yfcz=request.querystring("yfcz")
select case yfcz
'5.用户操作是选书时,某书已选,则该定购数量加1;
'未选,则把图书号赋值给图书号数组的0元素。
case "select"
for i=0 to 9
if tsh(i)=request.querystring("tsh") then
dgsl(i)=dgsl(i)+1
'标志已选图书
yxts=true
exit for
end if
next
if yxts<>true then
for i=0 to 9
if tsh(i)=0 then
tsh(i)=request.querystring("tsh")
dgsl(i)=1
exit for
end if
next
end if
'6.用户操作是删除选取的书时,则该定购数量减1。
case "del"
for i=0 to 9
if tsh(i)=request.querystring("tsh") then
dgsl(i)=session("dgsl")(i)-1
'该定购数量为0,则置图书号为0
if dgsl(i)=0 then tsh(i)=0
end if
next
'7.用户操作是删除全部书时,则置全部图书号、数量为0。书袋无书 sdws 为真。
case "delall"
for i=0 to 9
tsh(i)=0
dgsl(i)=0
next
sdws=true
end select
'8.检查书袋后,设置书袋无书 sdws 的真假。
for i=0 to 9
if tsh(i)<>0 then
sdws=false
exit for
else
sdws=true
end if
next
'9.表单:激活处理订单程序
%>
<p align="center">
<b><font color="#0000FF">购物小车</font></b>
<form method="POST" action="cldd.asp">
<center>
<div align="center">
<center>
<table border="1" bordercolor="#0000FF" cellspacing="0" cellpadding="11">
<%
'10.书袋无书,则提示未选购书,并释放 session。
if sdws=true then
response.write"<center> 未选购书,书袋无书。</center>"
session.abandon
else
'11.书袋已满,则提示只能选购10种书。
if sdym=true then response.write"只能选购10种书,书袋已满。"
%>
<tr>
<td align="center">图书号</td>
<td align="center">图书名称</td>
<td align="center">定购数量</td>
<td align="center">图书定价</td>
<td align="center">合计金额</td>
<td align="center">图书类别</td>
<td align="center">删除一本</td>
</tr>
<%
'12.输出已选购图书
for i=0 to 9
if tsh(i)<>0 then
sql="select 图书名称,图书定价,图书类别 from 图书记录表 where 图书号='"&tsh(i)&"'"
rs.open sql,cn,3
if not rs.eof then
'将图书名称记入数组 tsmc(10)
tsmc(i)=rs("图书名称")
'计算已选每种书的合计金额
hjje(i)=rs("图书定价")*dgsl(i)
'计算定购图书的总计金额
zjje=0
zjje=zjje+hjje(i)
%>
<tr>
<td valign="top" align="center"><% =tsh(i)%></td>
<td valign="top" align="center"><% =rs("图书名称")%></td>
<td valign="top" align="center"><% =dgsl(i)%></td>
<td valign="top" align="center"><% =rs("图书定价")%></td>
<td valign="top" align="center"><% =hjje(i)%>元</td>
<td valign="top" align="center"><% =rs("图书类别")%></td>
<td valign="top" align="center">
<a href="tsdg.asp?yfcz=del&图书号=<%tsh(i)%>"> 删除一本</a></td>
</tr>
<%
end if
'关闭记录集
rs.close
end if
next
%>
<tr>
<td align="center" colspan="4">总计金额</td>
<td align="center"><% =zjje%>元</td>
<td align="center" colspan="2"></td>
</tr>
</table>
</center>
</div>
</center>
<p align="center">
用户号:<input type="text" name="yfh" size="3">
购书密码:<input type="password" name="gsmm" size="10">
</p>
<p align="center">
<input type="submit" value="立即定购" name="Submit">
<input type="button" value="全部删除" name="delall" onClick="top.location.href='tsdg.asp?yfcz=delall'">
</p>
<%
'释放 Recordset 对象
set rs =nothing
end if
%>
</form>
<%
'13.使用 Session 保存数组
session("tsh")=tsh
session("dgsl")=dgsl
session("tsmc")=tsmc
session("fistselect")=false
cn.close
'保存总计金额
session("zjje")=zjje
%>
<p align="center">
图书定购代码 <a href="tsdg_dm.asp">tsdg_dm</a>
处理订单代码 <a href="cldd_dm.asp">cldd_dm</a>
<p align="center">
<a href="../index.asp"><img border="0" src="../fhzy.gif" width="92" height="25"></a>
<a href="tsdg.asp"><img border="0" src="../fhsy.gif" width="92" height="25"></a>
</p>
</BODY>
</HTML>