网上购物篮程序(session对象的灵活运用)_绛珠草_新浪博客

网上购物篮程序(session对象的灵活运用)

 

     呵呵,见标题,莫相笑,我这里的程序,可都不是xx的。因为都没有经过简化和精简。其中可能也有不少的毛病。然,这里面的,我都是经查阅资料自创,自编。都经过调试得出结果了的。只愿拿出来和大家一起分享吧。路还长着呢,且叫作做程序的一个序幕,书山有路勤为径,学海无边苦作舟吧。

    先写一个购物挑选商品的一个界面吧。把它命为:shop_book.asp

 

<" CODEPAGE="936"%>

<!--#include file="Function.asp"-->    <!--这里要引用别一个ASP页面,将它包含过来 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>BOOK-首页</title>
</head>

<body>
<div align="center">
<%
 dim aParameters
 dim I
 dim iItemCount
 iItemCount=4
%>

<table width="600" border="1" align="center" cellpadding="3" cellspacing="1">
  <tr bgcolor="#66ccff">
    <td><div align="center">封面</div></td>
    <td><div align="center">书名</div></td>
    <td><div align="center">价格</div></td>
    <td><div align="center">是否购买</div></td>
  </tr>
 
<%                                      '输出书的封面,名称,价格,是否购买,里面用到的函数下面会有。
 For I=1 to iItemCount
  aParameters=GetItemParameters(I)
%>
 <TR BGCOLOR ="#66CCFF">
 <TD><IMG SRC="<%=Aparameters(0)%>"></td>
 <td><%= aParameters(1) %></td>
 <td>&#165;<%= aParameters(2) %></td>
 <td><a href="shop_cart.asp?action=add&item=<%=I%>&count=1">加入我的购物篮</a></td>
 </tr>

 <%Next%>
 
 <Tr bgcolor="#ffffff">
 <td colspan="4"><div align="right">
 <a href="logout.asp">注销(将xx全部商品)</a>&nbsp;&nbsp;&nbsp;    <!--又是一个注销的ASP页面 -->
 <a href="shop_cart.asp"><img src="images/shop_cart.gif" border=0 width=100 height=25 alt="查看购物篮"></a><!--
另一个查看购物篮的页面 -->
 </div></td>
 </tr>
</table>
</div>
</body>
</html>

 

 

 

 

下面是一个shop_cart.asp,输出自己所购的书籍,还有价格等:

 

<" CODEPAGE="936"%>
<!--#include file="function.asp"-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
<div align="center">
<%
 iItemID=CInt(request.QueryString("item"))
 iItemCount=CInt(request.QueryString("count"))
 sAction=Cstr(request.QueryString("action"))

 select case sAction
 
  case "add"
   call AddItemToCart(iItemID,iItemCount)
  case "del"
   call RemoveItemFromCart(iItemID,iItemCount)
 end select
 
 dim key
 dim aParameters
 Dim sTotal
 %>
 
<table width="700" border="1" cellpadding="3" cellspacing="1" bgcolor="#6699ff">
  <tr bgcolor="#66ccff">
    <td><div align="center">编号</div></td>
    <td><div align="center">书名</div></td>
    <td><div align="center">数量</div></td>
    <td><div align="center">从购物栏中删除</div></td>
    <td><div align="center">价格</div></td>
    <td><div align="center">总价</div></td>
  </tr>
<%
 sTotal=0
 For Each Key in dictCart
 aParameters=GetItemParameters(Key)
%>
  <tr bgcolor="#66ccff">
    <td align="center"><%=key%></td>
    <td align="left"><%=aParameters(1)%></td>
    <td align="center"><%=dictCart(key) %></td>
    <td align="right">&#165;<%= aParameters(2)%></td>
    <td align="left">
 <a href="shop_cart.asp?action=del&item=<%=Key%>&count=1">删除一个</a>&nbsp;&nbsp;
 <a href="shop_cart.asp?action=del&item=<%=key%>&count=<%=dictcart(key)%>">全部删除</a></td>
    <td align="right">&#165;<%= FormatNumber(dictCart(Key)*CSng(aParameters(2)),2)%></td>
  </tr>
<%
 sTotal=sTotal+(dictCart(key)*CSng(aParameters(2)))
 next
%>
  <tr bgcolor="#66ccff">
    <td colspan="5" align="right"><b>Total:</b></td>
    <td align="right">&#165;<%= formatnumber(sTotal,2) %></td>
  </tr>
  <tr bgcolor="#ffffff">
    <td colspan="5" align="right">
    <a href="shop_book.asp">
       <img src="images/shop_look.gif" border="0" width="75" height="45" alt="继续购物" /></a>
    <a href="shop_over.asp">
        <img src="images/shop_checkout.gif" border="0" width="100" height="25" alt="结帐" /></a>
  </td>
  </tr>
</table>
<%
 sub AddItemToCart(iItemID,iItemCount)
  if dictCart.Exists(iItemID) then
   dictcart(iItemID)=dictcart(iItemID)+iItemCount
  else
   dictcart.add iItemID,iItemCount
  End if
  Response.Write("编号为"&iItemID&"的书也加入你的购物篮<br><br>")
 End Sub
 
 sub RemoveItemFromCart(iItemID,iItemcount)
  if dictcart.Exists(iItemID) then
   if dictcart(iItemID)<= iItemCount then
    dictcart.Remove iItemID
   Else
    dictcart(iItemID)=dictcart(iItemID)-iItemCount
   end if
  Response.Write(iItemCount&"本编号为"&iItemID&"的书也从购物篮中删除<br><br>")
  else
   response.Write("你的购物篮中没有任何商品<br><br>")
  end if
  end sub
 
%>
</div>
</body>

</html>

 

 

 

 

 

以下是一个购书后的结帐程序:shop_over.asp:

<" CODEPAGE="936"%>
<!--#include file="Function.asp"-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
<div align="center">
<%
 dim key
 dim aParameters
 Dim sTotal
%>

<table width="600" border="1" cellpadding="3" cellspacing="1" bgcolor="#6699ff">
  <tr bgcolor="#66ccff">
    <td >编号</td>
    <td>书名</td>
    <td>数量</td>
    <td>价格</td>
    <td>总价</td>
  </tr>
  <%
   sTotal=0
 For each Key in dictCart
 aParameters=GetItemParameters(Key)
  %>
  <tr bgcolor"#66ccff">
    <td align="Center"><%=key%></td>
    <td align="left"><%= aParameters(1) %></td>
    <td align="Center"><%=dictCart(key)%></td>
    <td align="right">&#165;<%=aParameters(2)%></td>
    <td align="right">&#165;<%=FormatNumber(dictcart(key)*CSng(aParameters(2)),2)%></td>
  </tr>
  <%
   sTotal=sTotal+(dictcart(key)*CSng(aParameters(2))) 
 next
  %>
  <tr bgclor="#66ccff">
    <td colspan=4 align="right"><B>Total:</B></td>
    <td align="right">&#165;:<%=Formatnumber(sTotal,2)%></td>

  </tr>
  <tr bgcolor="#ffffff">
    <td colspan=6 align="right" bgcolor="#ffffff">
 <a href="shop_book.asp">
 <img src="images/shop_look.gif" alt="继续购物" width="75" height="45" border="0" /> 
 </a>
 <a href="shop_cart.asp">
 <img src="images/shop_cart.gif" alt="查看购物篮" width="100" height="25" /> 
 </a>
 </td>

  </tr>
</table>
谢谢惠顾!您购买商品总价为:<%=FormatNumber(sTotal,2)%>元!
</div>

</body>
</html>

 

 

 

 

 

下面这个便上面的程序包含的一个关键的函数的程序:function.asp :


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>function函数</title>
</head>

<body>
<%
 dim dictCart,sAction,iItemID
 if Isobject(session("cart")) then
  set dictCart=session("cart")
 else
  set dictCart=server.CreateObject("Scripting.Dictionary")
 End if
 
 set session("cart")=dictCart
 
 Function GetItemParameters(iItemID)
 Dim aParameters
 Select Case iItemID
 Case 1
 aParameters=Array("images/01.jpg","《三国演义》","28.00")
 Case 2
 aParameters=Array("images/02.jpg","《红楼梦》","35.00")
 Case 3
 aParameters=Array("images/04.jpg","《西游记》","25.00")
 Case 4
 aParameters=Array("images/03.jpg","《水浒传》","30.00")
 End Select
 
 GetItemParameters=aParameters
 End Function
  
%>
 
</body>
</html>

 

 

 

 

 

下面这个就不用说了。是注销的程序:


 <" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
<%
 session.Abandon()
 response.Redirect("shop_book.asp")
%>
</body>
</html>

 

选定{dy}个程序运行,就可以看到购物篮的效果了。。呵呵。。。

已投稿到:
郑重声明:资讯 【网上购物篮程序(session对象的灵活运用)_绛珠草_新浪博客】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——