-3
Моя корзина никогда не будет эхом пуста, хотя значение равно 0. Что мне не хватает? Пожалуйста, укажите мне в правильном направлении. Я попытался переместить оператор else, но это только делает ошибки страницы.Корзина не echo empty PHP
<?php
session_start();
include "cart.php";
include "style.php";
if (isset($_GET['add'])) {
$_SESSION['id'.$_GET['add']]++;
}
if (isset($_GET['empty'])) {
$_SESSION['id_'.$_GET['empty']]--;
session_unset();
}
function cart() {
echo "<h3>Shopping cart!</h3>";
echo "<table>
<tr>
<td>Product</td>
<td>Quantity</td>
<td>Price</td>
<td><a href='shoppingcart.php?empty=$name'>[Empty]</a></td>
</tr>";
foreach($_SESSION as $name => $value) {
if ($value > 0) {
echo "<table><tr><td>$name</td><td>$value</td></tr></table>";
}
else {
echo "Cart is empty";
}
}
}
?>
Вы хотите, чтобы очистить все переменные сессии или уничтожить сессию? Между ними есть разница. –
Это ужасный дизайн для тележки. Как насчет '$ _SESSION ['cart'] = array();' Затем создайте массив и поместите его туда. И извлеките массив при извлечении тележки. Вы НЕ хотите, чтобы пользователи определяли имена переменных сеанса (т. Е. '$ _SESSION ['id'. $ _ GET ['add']]') ... которые могут быть уязвимостью безопасности. – developerwjk
ужасный дизайн кода:/ –