Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试用PHP创建一个简单的购物车,其中包含会话_Php_Session_Cart - Fatal编程技术网

尝试用PHP创建一个简单的购物车,其中包含会话

尝试用PHP创建一个简单的购物车,其中包含会话,php,session,cart,Php,Session,Cart,我有一个任务,我们应该创建一个电子商务网站,从数据库中提取产品,列出它们,并允许您将它们添加到购物车,虽然只需要一个数量的项目,但它必须有其他功能,我想我可以自己弄清楚 我现在要做的是,当用户点击“立即购买”按钮时,我为从数据库中取出的每一件物品创建了一个“立即购买”按钮,实际上是将物品添加到我的购物车中,但我真的迷路了。我正在尝试使用购物车会话,以便在浏览器关闭时删除所有内容 下面是我为列出可用项目的页面所做的: <?php $id = $_GET['id']; $sql

我有一个任务,我们应该创建一个电子商务网站,从数据库中提取产品,列出它们,并允许您将它们添加到购物车,虽然只需要一个数量的项目,但它必须有其他功能,我想我可以自己弄清楚

我现在要做的是,当用户点击“立即购买”按钮时,我为从数据库中取出的每一件物品创建了一个“立即购买”按钮,实际上是将物品添加到我的购物车中,但我真的迷路了。我正在尝试使用购物车会话,以便在浏览器关闭时删除所有内容

下面是我为列出可用项目的页面所做的:

<?php
    $id = $_GET['id'];
    $sql = "SELECT * FROM products WHERE id=$id";
    $result = mysqli_query($connection, $sql);

    echo '<div id="description">';
    if(mysqli_num_rows($result)>0){
        while($row = mysqli_fetch_array($result)){
            echo '<h2>'.$row['Name'].'</h2>';
            echo '<p>'.$row['Description'].'</p>';
            echo '<a href="cart.php" id="'.$row['id'].'" class="buyNow">Buy Now - $'.$row['Price'].'.00</a>';
        }
    }else{
        echo "There is something wrong.";
    }
    echo '</div>';
?>

这是我为购物车准备的:

<?php 

require('connection.php'); 
session_start();

$cart_content = array(); 

?>


我还没有完成为将成为购物车项目的阵列创建骨骼的工作。我不知道我是否有一个休息的上午或什么,但我似乎不知道如何用我创建的按钮添加项目。当我想做这件事的时候,看起来应该很容易,但我就是想不出来,不管我看的是什么教程。目前,这是我唯一需要帮助的事情,因为我非常确定我可以自己解决其余的问题。

首先,当您使用锚定标记启动购物车处理时,需要将
id添加到查询字符串中

<?php
    session_start();
    // show all products in this script
    $sql = "SELECT * FROM products";
    $result = mysqli_query($connection, $sql);

    echo '<div id="description">';
    if(mysqli_num_rows($result)>0){
        while($row = mysqli_fetch_array($result)){
            // stop it showing a product if it has already been selected by user
            if ( ! in_array($row['id'], $_SESSION['cart'] ) {
                echo '<h2>'.$row['Name'].'</h2>';
                echo '<p>'.$row['Description'].'</p>';
                echo '<a href="cart.php?id=' . $row['id'] . '" class="buyNow">Buy Now - $'.$row['Price'].'.00</a>';
            }
        }
    }else{
        echo "There is something wrong.";
    }
    echo '</div>';
?>

还要解析while循环中产品的ID。单击“添加到购物车”按钮后,使用准备好的语句搜索数据库,并将产品添加到会话变量中。然后在结帐时,循环该会话变量并显示带有价格的项目。然后,您可以在PayPal网关或其他支付网关中进行构建。我不太理解您在会话变量上方添加的注释。我应该保留原来的$cart_content=array()吗;除了添加$_会话['cart'][=$_GET['id'];?这应该是没有必要的,好吧,所以我把我的ID带到cart.php页面,通过一点额外的工作,我应该也能够显示相关数据,但我仍然不确定如何让用户在多个项目上单击“立即购买”按钮,并将每个项目添加到购物车中。每次单击购买时。它将运行
cart.php
脚本并向数组中添加一个新项。它似乎没有这样做,我不确定我应该做什么。我不想让你感到痛苦,但你介意再解释一遍吗?
<?php 
session_start();
require('connection.php'); 

// add this id to the cart array in the session
$_SESSION['cart'][] = $_GET['id']; 
// re-run the first script
header('Location: xxxx.php');   // sorry dont know what the fist script is called

?>