【问题标题】:Isset Delete Function for session会话的 Isset 删除功能
【发布时间】:2018-08-28 10:10:22
【问题描述】:

如果单击$_GET['add'],我有此代码将增加$_SESSION['count']。但是当我点击$_GET['remove'] 时,它应该在用户的特定$_SESSION['cart_(variable)'] 上递减;

这是我的会话购物车变量

问题是我有很多未来的购物车变量。

此代码用于删除。我在删除特定会话变量时遇到问题。所以我必须连接该行的特定id并减少$_SESSION['count']的值;

你们知道我可以用来减少会话计数的逻辑吗?

【问题讨论】:

  • 以后,将您的代码发布为代码,而不是图像。
  • 你好@AmmoPT 我真的很想发布我的帖子,它总是告诉你缩进有问题。
  • if(!isset($_SESSION['count'])){ $_SESSION['count'] = 0; } else { if(isset($_GET['add'])) { echo ++$_SESSION['count']; } if(isset($_GET['remove'])) { echo --$_SESSION['count']; } if(isset($_GET['delete'])) { $_SESSION['count'] =$_SESSION['count'] - $_SESSION['cart_/*VAIRABLE*/']; }
  • 快速阅读如何format code blocks,您应该选择整个代码并按顶部工具栏中的{} 符号。
  • 我真的很想发布我的代码*

标签: php session


【解决方案1】:

您可以使用variable as an array key

据我所知,$_SESSION['cart_/*CONCATINATING UNIQUE ID*/'] 包含一个int,其中添加的次数将减去$_SESSION['count']。在下面的代码中,我假设您通过$_GET['cart_id'] 获得了点击的cart_id,您应该将其更新为您实际得到的。

从以下位置更改您的代码:

if(isset($_GET['delete'])) {
    $_SESSION['count'] = $_SESSION['count'] - $_SESSION['cart_/*CONCATINATING UNIQUE ID*/'];
}

if(isset($_GET['delete'])) {
    $cartkey = 'cart_'.$_GET["cart_id"];
    $_SESSION['count'] = $_SESSION['count'] - $_SESSION[$cartkey];
}

【讨论】:

  • 成功了!非常感谢。我只是将 $_GET["cart_id"] 更改为 $_GET["delete"] 以使其工作。谢谢你的想法。我真的很感激。
【解决方案2】:

试试下面的代码:

<?php
    session_start();
    $_SESSION["count"]=10;
    if(isset($_GET['remove'])){
        $unique_id = $_GET["id"];
        $key = "cart_".$unique_id;
        if(isset($_SESSION[$key]){
            $_SESSION["count"] = $_SESSION["count"] - 1;
        }
    }
?>

没有看到完整的脚本...我无法理解您的问题

【讨论】:

  • 谢谢,但它对我不起作用。但我很感激
猜你喜欢
  • 2012-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-10
  • 2016-10-29
  • 2023-04-01
  • 1970-01-01
  • 2021-08-22
相关资源
最近更新 更多