购物车范例(处理页面)

网络整理 - 09-19
<!--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"">" & chr(13)
        response.write"alert(""请先登录"");" & chr(13)
        response.write"history.go(-1);" & chr(13)
        response.write"</script>" & 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""))=" & isobject(Session("Bag")) & "<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=" & p_num & "<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="& request("obj") &"") '转向显示购物车页面
    end if
%>