корзина в сессии, как установить значения и удалить значения? PHP, MySQL - PullRequest
0 голосов
/ 18 мая 2011

привет всем извините я новичок в веб-разработке
я сделал сайт мой сайт
но это почти сделано, но я не мог найти, как сделать корзину
я понял, что лучше всего делать это в сеансе
я сею в StackOverFlow очень хороший пример посмотри
но что написать в нижней части, чтобы добавить элемент, если кто-то имеет ссылку на что-то, что может помочь мне, пожалуйста

и когда я использовал пример, который я упоминал ранее, когда я нажимаю на кнопку добавления в корзину
это сообщение об ошибке присутствует
«Примечание: использование неопределенной константы Basket - предполагается, что« Basket »в C: \ wamp \ www \ movies \ Action & Adventure_n_c.php в строке 35
Примечание: неопределенный индекс: корзина в C: \ wamp \ www \ movies \ Action & Adventure_n_c.php в строке 35

Предупреждение. В foreach () указан неверный аргумент в C: \ wamp \ www \ movies \ Action & Adventure_n_c.php в строке 35 "

мое дно

<?PHP    
$onpage=$_SERVER['PHP_SELF'];
echo "<a class='art-button' href='$onpage"."?ID=$PID1'>Add to Cart</a>";  
?>

пожалуйста, есть идеи?

код для сессии такой:

function AddToBasket(){
   if(is_numeric($_GET["ID"])){
    $ProductID=(int)$_GET["ID"];
    $_SESSION["Basket"][]=$ProductID;
    $sOut.=ShowBasketDetail();
    return $sOut; 
  }
}

В этой функции Shoping Basket мы сохраняем идентификаторы продуктов в массиве Session. Теперь вот функция Show Basket:

function ShowBasket(){
foreach($_SESSION[Basket] as $ProductID){
    $sql="select * from products where ProductID=$ProductID";
    $result=mysql_query($sql);
    $row=mysql_fetch_row($result);
    echo "Product: ".$row[0];
    }

}

Foreach ProudctID в нашей корзине сеансов, мы делаем SQL-запрос для вывода информации о продукте ...

Теперь последняя, ​​но не менее важная функция корзины:

function ClearBasket(){
unset($_SESSION[Basket]);
}

спасибо всем за вашу помощь, большое спасибо, но я нашел это видео на YouTube , которое решает мою проблему,

С наилучшими пожеланиями всем вам.


спасибо всем за вашу помощь, большое спасибо, но я нашел магазинную тележку, которая решает мою проблему,

<?php      
    if(isset($_GET['id']))
        $cart_id=$_GET['id'];
    else
        $cart_id=1;

    if(isset($_GET['action']))
        $action=$_GET['action'];
    else
        $action="none";

    switch($action)
    {
        case "add":
            if(isset($_SESSION['cart'][$cart_id]))
                $_SESSION['cart'][$cart_id]++;
            else
                $_SESSION['cart'][$cart_id]=1;
        break;
        case "remove":
            if(isset($_SESSION['cart'][$cart_id]))
            {
                $_SESSION['cart'][$cart_id]--;
                if($_SESSION['cart'][$cart_id]==0)
                    unset($_SESSION['cart'][$cart_id]);
            }


        break;
        case "empty":
            unset($_SESSION['cart']);
        break;
    }
        ?>

С наилучшими пожеланиями всем вам.

Ответы [ 3 ]

0 голосов
/ 18 мая 2011

похоже, что вы не начали сеанс.Запустите сеанс на первой странице и зарегистрируйте в нем класс корзины.На следующей странице извлеките объект корзины из сеанса и добавьте элемент.

0 голосов
/ 14 сентября 2013

Используйте переменную корзины массива сеанса для хранения элементов в сеансе.
eg- $ _SESSION ['basket'] [i] = product_id, где i - индекс массива.

0 голосов
/ 18 мая 2011

Возможно, вы имели в виду

<?PHP     
$onpage=$_SERVER['PHP_SELF']; 
print "<a class='art-button' href='$onpage?ID=$PID1'>Add to Cart</a>";
?>

Поскольку приведенный выше код не действителен PHP

...