Продукты в моей корзине хранятся в ajax и устанавливаются в сеансы. Посмотрите мой код от cart_functions.php (вот функции для моих кнопок в корзине).Снятие переменных сеанса из цикла foreach PHP
if (isset($_GET['action'])) {
$action = $_GET['action']; //get button action name
$prod = $_GET['prod_id']; // id of the product
$prodname = 'product_'.$prod;// name of the product
switch ($action) {
case 'add':
$result = add_prod($prod, $prodname);
break;
///rest of switch....(not important for now)
Это функция, которая добавляет продукт в сессии
function add_prod($prod, $prodname){
//add function
$_SESSION[$prodname] = 1;
return ['result'=>'success'];
}
название этой сессии, как это ->$_SESSION['product_123']
и т.д.
Ok так что теперь я хочу, чтобы сбросить все $_SESSION[$prodname]
. На других страницах $_SESSION[$prodname]
есть $_SESSION['product_123']
. Так как в моей корзине у меня есть несколько $_SESSION[$prodname]
Я хочу, чтобы отменить, когда клиент отправит заказ. Как я могу получить все $_SESSION['product_123'],$_SESSION['product_1234']...and so on
?
я не знаю, если это помогает, но рассчитывать мои продукты я использовал код из помощи я был здесь ... смотрите
$product_count = count(array_filter(array_keys($_SESSION), function($x) {
return substr($x, 0, 8) == 'product_';
}));
создание сеанса как '$ _SESSION ['products'] [$ id]' намного лучше, мне пришлось переписать весь мой код, чтобы сделать '$ _SESSION ['name here'] [id здесь] ' –