2015-11-04 123 views
0

好吧,所以我有以下页面将成为我的购物车页面,并且我无法使用会话从1页上的产品数组中获取值并创建一个功能大车。我不清楚如何使用php会话变量来保持持久性信息,例如购物车。我想知道如何使用$ _SESSION ['cart']创建购物车以及如何将数据传递给它,以便我可以显示购物车中每件物品的数量并具有添加/删除功能。使用数组中的会话创建一个PHP购物车

<!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';?> 

回答

1

在你的产品页面初始化会话,请确保您有session_start()你的HTML标记上面。

然后,你需要给会话变量的值,如$_SESSION["cart"] = "";

您还需要一些东西来在1个阵列添加一切,所以您可以稍后检查数组您的购物车页面上。

为此使用array_push,首次创建会话时创建一个数组。然后使用array_push将项目添加到购物车。

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

输出:Red, Green, Blue, Yellow

使用此产品添加到阵列中。在您的购物车页面上,您只需计算阵列中有多少物品即可。制作一个循环让他们全部出来,你就完成了!

+0

array_push append? –

+0

@MaalB是的! – paradizzee