Home  >  Article  >  Backend Development  >  php购物车问题

php购物车问题

WBOY
WBOYOriginal
2016-06-23 14:04:011392browse

<?php  include ('book_sc_fns.php');  // The shopping cart needs sessions, so start one  session_start();  @$new = $_GET['new'];  if($new) {    //new item selected    if(!isset($_SESSION['cart'])) {      $_SESSION['cart'] = array();      $_SESSION['items'] = 0;      $_SESSION['total_price'] ='0.00';    }    if(isset($_SESSION['cart'][$new])) {      $_SESSION['cart'][$new]++;    } else {      $_SESSION['cart'][$new] = 1;    }    $_SESSION['total_price'] = calculate_price($_SESSION['cart']);    $_SESSION['items'] = calculate_items($_SESSION['cart']);  }  if(isset($_POST['save'])) {    foreach ($_SESSION['cart'] as $isbn => $qty) {      if($_POST[$isbn] == '0') {        unset($_SESSION['cart'][$isbn]);      } else {        $_SESSION['cart'][$isbn] = $_POST[$isbn];      }    }    $_SESSION['total_price'] = calculate_price($_SESSION['cart']);    $_SESSION['items'] = calculate_items($_SESSION['cart']);  }  do_html_header("Your shopping cart");  if(($_SESSION['cart']) && (array_count_values($_SESSION['cart']))) {    display_cart($_SESSION['cart']);  } else {    echo "<p>There are no items in your cart</p><hr/>";  }  $target = "index.php";  // if we have just added an item to the cart, continue shopping in that category  if($new)   {    $details =  get_book_details($new);    if($details['catid']) {      $target = "show_cat.php?catid=".$details['catid'];    }  }  display_button($target, "continue-shopping", "Continue Shopping");  // use this if SSL is set up  // $path = $_SERVER['PHP_SELF'];  // $server = $_SERVER['SERVER_NAME'];  // $path = str_replace('show_cart.php', '', $path);  // display_button("https://".$server.$path."checkout.php",  //                 "go-to-checkout", "Go To Checkout");  // if no SSL use below code  display_button("checkout.php", "go-to-checkout", "Go To Checkout");  do_html_footer();?>


代码中的$_SESSION['cart'][$new]是什么意思,为什么要这样子做?


回复讨论(解决方案)

你打印你的$_SESSION看看就知道的。

$_SESSION 中储存了一个叫cart 的数组对象,取出来就是$_SESSION['cart']  $new是这个数组的键值,取法就是$_SESSION['cart'][$new]了

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn