使用数组中的会话创建PHP购物车


Creating a PHP shopping cart using sessions from an array

好的,我有下面的页面,这将是我的购物车页面,我在使用会话从1个页面上的产品数组中获取值并创建一个正常工作的购物车时遇到了问题。我不清楚如何使用php会话变量来维护持久信息,如购物车。我想弄清楚如何使用$_SESSION["cart"]创建购物车,以及如何将数据传递到其中,以便我可以显示购物车中每个项目的数量并具有添加/删除功能。

<!DOCTYPE html>
<html lang="en">
  <?php include 'header.php';
    if(!empty($_SESSION['cart'])){
    }
  ?>

    <title>Football Items</title>
    <b><i><h1>Shopping Cart - Checkout</h1><b></i>
    <!-- Bootstrap -->
   <link rel="stylesheet" href="styles/styles1.css">
<link rel="stylesheet" href="css/bootstrap.min.css">
  </head>
  <!--NavStart-->
<nav class="navbar navbar-default">
  <div class="container-fluid">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="navbar-collapse-1" aria-expanded="false">
      </button>
     <b><a class="navbar-brand" href="index.php">Home Page</a></b>
    </div>

    <div class="collapse navbar-collapse">
      <ul class="nav navbar-nav">
        <li class="active"><a href="">About Us <span class="sr-only">(current)</span></a></li>

        <li><a href="productlist.php">Football Jerseys</a></li>
        <li class="dropdown">
      <ul class="nav navbar-nav navbar-right">
        <li><a href="Application.php">Checkout</a></li>
        <li class="dropdown">
          </ul>
        </li>
      </ul>
    </div>
  </div>
</nav>

  <div id="wrapper">
  <div id="wrap">

  <?php
      if (!empty($_GET['act'])) 
      {
        if ($_GET['act']=='add') {
            $numr = $_GET['itemid'];
            $name = $_GET['itemname'];
            $quantity = 1;
            $price = $_GET['itemprice'];
            $total = $quantity * $price;
        }
      }
  ?>

  <body>

  <table border="3" style="height: 100% width:200% cellpadding="3" cellspacing="3">
    <tr>
     <th>Item Number</th></p>
      <th>Item Name</th>
      <th>Price</th>
      <th> Quantity </th>
      <th>Total</th>
    </tr>

      <?php
                echo "<tr>";
                echo "<th>$numr</th>";
                echo "<td>$name</td>";
                echo "<td>$price</td>";
                echo "<td>$quantity</td>";
                echo "<td>$total</td>";
                echo "</tr>";
            ?>


  </table>
  </div>
</div>
  </body>
     <div class="container"> 
     <button type="button" style= color:black;background-color:white;" class="btn btn-primary active">
        <a href="form.php">Checkout now.</a></button>
  </div>
</div>

<?php include 'footer.php';?>  

在产品页面上初始化会话时,请确保html标记上方有session_start()

然后你需要给会话标签一个值,比如$_SESSION["cart"] = "";

您还需要在1个数组中添加所有内容,以便稍后在购物车页面上检查该数组。

使用arraypush,在第一次创建会话时创建一个数组。然后使用array_push将项目添加到购物车中。

<?php
$a=array("red","green");
array_push($a,"blue","yellow");
print_r($a);
?>

输出:Red, Green, Blue, Yellow

使用此选项可以将产品添加到阵列中。在您的购物车页面上,您只需简单地计算阵列中的商品数量。绕一圈把它们都弄出来,你就完了!