如何删除存储在会话中的项目?
How do I delete an item that is stored in the session?
我在 ColdFusion 中使用结构数组。这是我试过的代码。谁能帮我更正我的代码?
<cfif isDefined("remove")> //button in the cart page to remove a product
<cflock scope="session" type="readonly" timeout="0200">
<cfparam name="Session.cart">
<cfloop query="#qProductSelected#"> //this is the query for getting productid from url
<cfset sItem = structNew()> //this is my structure inside an array
<cfset sItem.Image= Application.imageUrl&qProductSelected.ProductImage> //for getting image
<cfset sItem.ProductId =#ProductId#> //getting productid
<cfset sItem.ProductImage = #Image#> //getting image
<cfset sItem.ProductName = #ProductName#> //getting product name
<cfset sItem.ProductDescription =#ProductDescription#> //getting productdescription
<cfset sItem.quantity = form.qty> //storing quantity from form into the session
<cfset structClear(sItem)> //finally i use structclear to clear the structure
</cfloop>
</cflock>
<cflocation url="cart.cfm"> //redirecting to cart page itself
</cfif>
如果您试图从会话中删除 'cart' 密钥,您可以这样做:
<cfset StructDelete(session,'cart')>
但是,您处于只读锁中,因此您需要将其更改为独占锁或不使用锁定...取决于具体情况。
由于您使用的是购物车。我猜你是将产品存储为结构数组,产品的详细信息存储在结构中。
如果您想从购物车中删除产品,代码将如下所示
<cfset ArrayDeleteAt(session.arrCart,form.productsequenceincart) />
例如,如果有人点击了第三个产品的删除按钮,上面的代码会执行此操作 -
<cfset ArrayDeleteAt(session.arrCart,3) />
它会从购物车数组中删除第三个产品。
我们不需要遍历产品。
我在 ColdFusion 中使用结构数组。这是我试过的代码。谁能帮我更正我的代码?
<cfif isDefined("remove")> //button in the cart page to remove a product
<cflock scope="session" type="readonly" timeout="0200">
<cfparam name="Session.cart">
<cfloop query="#qProductSelected#"> //this is the query for getting productid from url
<cfset sItem = structNew()> //this is my structure inside an array
<cfset sItem.Image= Application.imageUrl&qProductSelected.ProductImage> //for getting image
<cfset sItem.ProductId =#ProductId#> //getting productid
<cfset sItem.ProductImage = #Image#> //getting image
<cfset sItem.ProductName = #ProductName#> //getting product name
<cfset sItem.ProductDescription =#ProductDescription#> //getting productdescription
<cfset sItem.quantity = form.qty> //storing quantity from form into the session
<cfset structClear(sItem)> //finally i use structclear to clear the structure
</cfloop>
</cflock>
<cflocation url="cart.cfm"> //redirecting to cart page itself
</cfif>
如果您试图从会话中删除 'cart' 密钥,您可以这样做:
<cfset StructDelete(session,'cart')>
但是,您处于只读锁中,因此您需要将其更改为独占锁或不使用锁定...取决于具体情况。
由于您使用的是购物车。我猜你是将产品存储为结构数组,产品的详细信息存储在结构中。 如果您想从购物车中删除产品,代码将如下所示
<cfset ArrayDeleteAt(session.arrCart,form.productsequenceincart) />
例如,如果有人点击了第三个产品的删除按钮,上面的代码会执行此操作 -
<cfset ArrayDeleteAt(session.arrCart,3) />
它会从购物车数组中删除第三个产品。
我们不需要遍历产品。