Как удалить товары в корзине со строкой - PullRequest
0 голосов
/ 17 мая 2018

У меня есть корзина покупок на моем веб-сайте, которая использует строку для списка покупок. Каждый продукт имеет трехзначный идентификатор, поэтому строка выглядит примерно как 031181083 с 3 элементами.

В php,

session_start();
$numbooks = strlen($_SESSION['bookstrings'])/3;
$books = $_SESSION['cart'];
echo "You have " . $numbooks . " books in your Cart.";
echo $_SESSION['bookstrings'];
echo "<br><br>";
include '/redirect.php';

где $ _SESSION ['cart'] - строка, которая обновляется, когда пользователь добавляет товар в корзину.

Я использую цикл for с

${"book$x"} = str_replace("011", "55USD New Traditions and Encounters ", ${"book$x"});

для отображения информации о книге вместо цифр для пользователя. Однако у меня возникают проблемы с удалением части строки, когда пользователь отменяет элемент.

Пользователь нажимает

echo '<a href="redirect.php?cancel=' . $x . '">Cancel</a>';

и redirect.php выглядит так:

<?php
        echo "aaa";
        include 'mycart.php';
        $x = $_GET['cancel'];
        $booksnow = str_replace(${"bookid$x"}, "", $books);
        $_SESSION['bookstrings'] = $booksnow;
        echo $_SESSION['bookstrings'];
        header("Location: mycart.php");

 ?>

Когда я захожу в redirect.php, $ _SESSION ['bookstrings'] успешно обновляется, но когда я перенаправляю обратно в mycart.php, переменная сбрасывается.

Я не против переписать много вещей, так есть ли лучший способ кодировать корзину? Использование строки было первым, что пришло мне в голову, поэтому было построено поверх него, но я чувствую, что это очень неэффективно, и я хотел бы использовать более простой способ с функциональностью.

PS: при открытии страницы часть php не отображается, а когда я обновляюсь, она становится нормальной. Есть идеи?

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