Isset Удалить функцию для сессии - PullRequest
0 голосов
/ 28 августа 2018

У меня есть этот код, который будет увеличивать $_SESSION['count'], если нажата $_GET['add']. Но когда я нажимаю $_GET['remove'], оно должно уменьшаться в зависимости от конкретного пользователя $_SESSION['cart_(variable)'];

Вот переменные, которые у меня есть для корзины сеанса

enter image description here

Дело в том, что у меня много переменных для корзины на будущее.

Этот код предназначен для удаления. У меня проблема с удалением определенных переменных сеанса. Поэтому мне нужно объединить конкретный идентификатор для этой строки и уменьшить значение $_SESSION['count'];

Есть ли у вас, ребята, какие-либо представления о логике, которую я мог бы использовать для уменьшения числа сеансов?

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

Вы можете использовать переменную в качестве ключа массива .

Из того, что я могу понять, $_SESSION['cart_/*CONCATINATING UNIQUE ID*/'] содержит int с количеством добавлений, которое будет вычтено до $_SESSION['count']. В приведенном ниже коде я предполагаю, что вы нажали cart_id с $_GET['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];
}
0 голосов
/ 28 августа 2018

Просто попробуйте с кодом ниже:

<?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;
        }
    }
?>

Не видя полного сценария ... Я не могу понять вашу проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...