购物车范例(转)(处理页面)

发表于:2007-06-30来源:作者:点击数: 标签:
!--put2bag.asp-- %@ Language= VB Script % % ‘’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----一件商
<!--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
%>


原文转自:http://www.ltesting.net