网友俱乐部 » 网络编程 » JSP教程 » 购物车范例(处理页面)

2008-7-16 13:06 啦啦
购物车范例(处理页面)

<!--put2bag.asp-->
<%@ Language=VBScript %>
<%
    "id_type=request("id_type")
    on error resume next
    Response.Buffer = true
    Response.Expires = 0
    dim obj_bag,bag_item,cart
            "obj_bag      ----购物车
            "bag_item     ----商品的信息数据集合
            "cart         ----一件商品的信息数据集合
    dim p_id,p_name,p_price,p_manu,p_type,p_size,p_color,p_num,p_temp
            "p_id               ----商品id号
            "p_name          ----商品名称
            "p_price           ----原价单价
            "p_manu          ----商品制造商
            "p_type            ----商品式样
            "p_size            ----商品尺寸
            "p_color           ----商品颜色
            "p_num            ----商品数量
            "p_temp           ----临时存放p_num
            
    if session("login")="" then
        response.write"<script langue=""javascript"">" &amp; chr(13)
        response.write"alert(""请先登录"");" &amp; chr(13)
        response.write"history.go(-1);" &amp; chr(13)
        response.write"</script>" &amp; chr(13)
    else
                "初始化购物车内变量
        p_id=trim(request("id"))
        P_manu=trim(request("manu"))
        p_type=trim(request("type"))
        p_name=replace(trim(request("name1"))," ","")
        p_price=trim(request("price"))
        p_size=trim(request("size"))
        p_color=trim(request("color"))
        p_num=trim(request("num"))
        if ((not IsNumeric(p_num)) or (p_num<="0") or (instr(1,p_num,".")<>0)) then
            p_num=1                 ‘如果商品数量小于0或者有小数点,取1
        end if
        
        if p_name <>"" then
                        "如果有购物信息传入则准备装如购物车
                        "如果还没有购物车则新建dictionary对象
            if isobject(Session("Bag")) then   "如果有购物车则更新
            "response.write "isobject(Session(""Bag""))=" &amp; isobject(Session("Bag")) &amp; "<br>"
                set obj_bag=Session("Bag")
                if obj_bag.exists(p_name) then      ""如果当前购物车中已有该商品
                    if err then
                        response.write err.description
                        err.clear
                    end if
                    
                    "response.write isobject(obj_Bag)
                    p_temp=obj_bag.item(p_name)(6) "将p_num的值存放于p_temp中
                    response.write "p_num=" &amp; p_num &amp; "<br>"
                    p_num=cint(p_num)+cint(p_temp)  "购买的商品数量累加
              
                    bag_item=array(p_name,p_manu,p_type,p_size,p_color,p_price,p_num,p_id)
                    obj_bag.item(p_name)=bag_item
                 else                       
                    bag_item=array(p_name,p_manu,p_type,p_size,p_color,p_price,p_num,p_id)
                    obj_bag.Add p_name,bag_item
                end if
         
            else                                                      "没有购物车生成新的
                set obj_bag=server.CreateObject ("Scripting.Dictionary")
                bag_item=array(p_name,p_manu,p_type,p_size,p_color,p_price,p_num,p_id)
                response.write bag_item(0)
                obj_bag.Add p_name,bag_item
            end if   
            set Session("Bag") = obj_Bag    "更新购物车
        end if
        
        Response.Redirect ("checkbag.asp?obj="&amp; request("obj") &amp;"") "转向显示购物车页面
    end if
%>

页: [1]


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.