Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in das praktische Tutorial zur Implementierung eines Warenkorbs in einer PHP-Sitzung

Detaillierte Einführung in das praktische Tutorial zur Implementierung eines Warenkorbs in einer PHP-Sitzung

零下一度
零下一度Original
2017-06-15 13:43:591358Durchsuche

In diesem Artikel wird hauptsächlich die Warenkorbfunktion der PHP-Sitzung ausführlich vorgestellt, die einen gewissen Referenzwert hat.

Verwenden Sie die PHP-Sitzungssitzung in einer Wamp-Umgebung. Steuern Sie den Effekt des Ausfüllens des Warenkorbs . Die Daten werden zu Übungszwecken im Array gespeichert. Der Effekt ist gut und leicht zu verstehen. Das Folgende ist der Code für jeden Teil >

index.php

<?php
header("content-type:text/html;charset=utf-8");
$arrPro = array(
    array(&#39;id&#39;=>1,&#39;img&#39;=>&#39;img/1.jpg&#39;,&#39;title&#39;=>&#39;小米移动电源5000mAh&#39;,&#39;price&#39;=>49),
    array(&#39;id&#39;=>2,&#39;img&#39;=>&#39;img/2.jpg&#39;,&#39;title&#39;=>&#39;20000mAh小米移动电源2&#39;,&#39;price&#39;=>149),
    array(&#39;id&#39;=>3,&#39;img&#39;=>&#39;img/3.jpg&#39;,&#39;title&#39;=>&#39;小米圈铁耳机Pro&#39;,&#39;price&#39;=>129),
    array(&#39;id&#39;=>4,&#39;img&#39;=>&#39;img/4.jpg&#39;,&#39;title&#39;=>&#39;小米家电动滑板车&#39;,&#39;price&#39;=>1999),
    array(&#39;id&#39;=>5,&#39;img&#39;=>&#39;img/5.jpg&#39;,&#39;title&#39;=>&#39;小米笔记本&#39;,&#39;price&#39;=>3499),
    array(&#39;id&#39;=>6,&#39;img&#39;=>&#39;img/6.jpg&#39;,&#39;title&#39;=>&#39;米家LED智能台灯&#39;,&#39;price&#39;=>169),
    array(&#39;id&#39;=>7,&#39;img&#39;=>&#39;img/7.jpg&#39;,&#39;title&#39;=>&#39;小米体重秤&#39;,&#39;price&#39;=>99),
    array(&#39;id&#39;=>8,&#39;img&#39;=>&#39;img/8.png&#39;,&#39;title&#39;=>&#39;小米电视3s 48英寸&#39;,&#39;price&#39;=>2599)
  );

action.php

<?php 
header("content-type:text/html;charset=utf-8");
require &#39;common.php&#39;;
session_start();
$sum = 0;
$class = "";
//判断左上角购物车的样式显示
if(!empty($_SESSION[&#39;shopcar&#39;])){
  $data = $_SESSION[&#39;shopcar&#39;];
  $sum = array_sum($data[4]);
  $class = "on";
  //右上角圆点
    if(empty($data[0])){
      $class = "";
    }
  }
?>

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>商品展示</title>
  <style type="text/css">
  section{
    width:1032px;
    height: 700px;
    margin: 40px auto;
  }
  .top{
    float: right;
    position: relative;
    width: 190px;
    height: 34px;
    border: 1px solid #ccc;
    margin-right: 32px;
    text-align: center;
    line-height: 34px;
    border-radius: 4px;
    transition: all .3s linear;
    -moz-transition: all .3s linear;
    -webkit-transition: all .3s linear;
  }
  .top a{
    color: #d00;
  }
  .top:hover{
    width: 210px;
    color: #fff;
    font-weight: bold;
    background-color: #d00;
    border-radius: 6px;
  }
  .top:hover a{
    color: #fff;
  }
  .top:hover span{
    background-color: #fff;
    color: #d00;
  }
  .top:hover .star{
    right:150px;
    top: 0;
    font-size: 14px;
    color: #ff0;
    transform: rotate(1080deg);
  }
  .top span{
    position: absolute;
    top:2px;
    right: 40px;
    width: 18px;
    height: 18px;
    font-weight: bold;
    border-radius: 9px;
    line-height: 18px;
    text-align: center;
    font-size: 12px;
    font-weight: border;
    color: #fff;
  }
  .star{
    color: #fff;
    font-size: 48px;
    font-style: normal;
    position: absolute;
    right:530px;
    top:186px;
    transform: rotate(60deg);
    transition: all .3s ease;
  }
  .on{
    background-color: #e00;
  }
  .list{
    margin: 20px 20px;
    padding: 36px 0;
    list-style: none;
  }  
  a{
    display: block;
    color: #757575;
    text-decoration: none;
  }
  .list li{
    float: left;
    height: 246px;
    width: 234px;
    padding: 10px 0 20px;
    margin-right:12px;
    margin-top: 20px;
    border: 1px solid #ccc;
    background: #fff;
    -webkit-transition: all .2s linear;
    transition: all .2s linear;
  }
  .list li:hover{
    box-shadow: 2px 4px 5px #aaa;
  }
  .figure{
    width: 150px;
    height: 150px;
    margin: 0 auto 18px;
  }
  .title{
    color: #222;
    font-size: 14px;
    font-weight: normal;
    text-align: center;
  }
  .price{
    margin: 0 10px 10px;
    text-align: center;
    color: #ff6700;
  }
  .cart{
    margin: 0 15px 5px;
    text-align: center;
  }
  .cart a{
    color: #a34;
    width: 190px;
    height: 24px;
    border-radius: 4px;
    margin: 0 8px 5px;
    text-align: center;
  }
  .cart a:hover{
    color: #eee;
    box-shadow: 0 2px 1px #333,0 2px 1px #666;
    background-color: #ccc;
    background-image: linear-gradient(#33a6b8,#0089a7)
  }
  .num{
    text-align: center;
    color: #ff6700;
  }
  </style>
</head>
<body>
  <section>
  <p class=&#39;top&#39;>
  <a href="spcar.php" rel="external nofollow" >我的购物车</a><span class="<?php echo $class;?>"><?php echo $sum;?></span>
  <em class=&#39;star&#39;>★</em>
  </p>
  <ul class="list">
  <?php foreach ($arrPro as $key => $value):?>
  <li>
    <p class="figure"> 
    <a href=""><img src=" rel="external nofollow" <?php echo $value[&#39;img&#39;];?>" width="150" height="150" alt="小米移动电源5000mAh"></a> 
    </p> 
    <h3 class="title"> 
    <a href=""><?php echo $value[&#39;title&#39;];?></a>
    </h3> 
    <p class="price"><span class="num">¥<?php echo $value[&#39;price&#39;];?></span></p>
    <p class=&#39;cart&#39;><a href="action.php?id=<?php echo $value[&#39;id&#39;];?>" rel="external nofollow" >加入购物车</a></p>
  </li>
  <?php endforeach;?>
  </ul>
  <p style=&#39;clear:both&#39;></p>
  </section>
</body>
</html>

spcar.php

<?php
if(!empty($_GET[&#39;id&#39;])){
  require &#39;common.php&#39;;
  session_start();
  $id = $_GET[&#39;id&#39;];
  //把所选ID的商品信息遍历出来
  foreach ($arrPro as $key => $value) {
    if($id == $value[&#39;id&#39;]){
    $arrData = $arrPro[$key];
    }
  }

  //用一个新的二维数组把商品信息存起来
  $arrDatax[0][$arrData[&#39;id&#39;]] = $arrData[&#39;id&#39;];
  $arrDatax[1][$arrData[&#39;id&#39;]] = $arrData[&#39;img&#39;];
  $arrDatax[2][$arrData[&#39;id&#39;]] = $arrData[&#39;title&#39;];
  $arrDatax[3][$arrData[&#39;id&#39;]] = $arrData[&#39;price&#39;];
  $arrDatax[4][$arrData[&#39;id&#39;]] = 1;
  //判断是否有SESSION存在,有则在数组后添加,没有则直接存
  if(empty($_SESSION[&#39;shopcar&#39;])){
    $_SESSION[&#39;shopcar&#39;] = $arrDatax;
    header(&#39;Location:index.php&#39;);
  }else{
    //第一次购物之后的购物
    //重新取出来,防止数据覆盖
    $arrDataz = $_SESSION[&#39;shopcar&#39;];
    if(in_array($id,$arrDataz[0])){
      $arrDataz[4][$arrData[&#39;id&#39;]] += 1;
      $_SESSION[&#39;shopcar&#39;] = $arrDataz;
      header(&#39;Location:index.php&#39;);
    }else{
      $arrDataz[0][$arrData[&#39;id&#39;]] = $arrData[&#39;id&#39;];
      $arrDataz[1][$arrData[&#39;id&#39;]] = $arrData[&#39;img&#39;];
      $arrDataz[2][$arrData[&#39;id&#39;]] = $arrData[&#39;title&#39;];
      $arrDataz[3][$arrData[&#39;id&#39;]] = $arrData[&#39;price&#39;];
      $arrDataz[4][$arrData[&#39;id&#39;]] = 1;
      $_SESSION[&#39;shopcar&#39;] = $arrDataz;
      header(&#39;Location:index.php&#39;);
    }

  }
}else{
  echo "购物车没有商品!";
}

delete.php

<?php
if(!empty($_GET[&#39;id&#39;])){
  require &#39;common.php&#39;;
  session_start();
  $id = $_GET[&#39;id&#39;];
  //把所选ID的商品信息遍历出来
  foreach ($arrPro as $key => $value) {
    if($id == $value[&#39;id&#39;]){
    $arrData = $arrPro[$key];
    }
  }

  //用一个新的二维数组把商品信息存起来
  $arrDatax[0][$arrData[&#39;id&#39;]] = $arrData[&#39;id&#39;];
  $arrDatax[1][$arrData[&#39;id&#39;]] = $arrData[&#39;img&#39;];
  $arrDatax[2][$arrData[&#39;id&#39;]] = $arrData[&#39;title&#39;];
  $arrDatax[3][$arrData[&#39;id&#39;]] = $arrData[&#39;price&#39;];
  $arrDatax[4][$arrData[&#39;id&#39;]] = 1;
  //判断是否有SESSION存在,有则在数组后添加,没有则直接存
  if(empty($_SESSION[&#39;shopcar&#39;])){
    $_SESSION[&#39;shopcar&#39;] = $arrDatax;
    header(&#39;Location:index.php&#39;);
  }else{
    //第一次购物之后的购物
    //重新取出来,防止数据覆盖
    $arrDataz = $_SESSION[&#39;shopcar&#39;];
    if(in_array($id,$arrDataz[0])){
      $arrDataz[4][$arrData[&#39;id&#39;]] += 1;
      $_SESSION[&#39;shopcar&#39;] = $arrDataz;
      header(&#39;Location:index.php&#39;);
    }else{
      $arrDataz[0][$arrData[&#39;id&#39;]] = $arrData[&#39;id&#39;];
      $arrDataz[1][$arrData[&#39;id&#39;]] = $arrData[&#39;img&#39;];
      $arrDataz[2][$arrData[&#39;id&#39;]] = $arrData[&#39;title&#39;];
      $arrDataz[3][$arrData[&#39;id&#39;]] = $arrData[&#39;price&#39;];
      $arrDataz[4][$arrData[&#39;id&#39;]] = 1;
      $_SESSION[&#39;shopcar&#39;] = $arrDataz;
      header(&#39;Location:index.php&#39;);
    }

  }
}else{
  echo "购物车没有商品!";
}

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in das praktische Tutorial zur Implementierung eines Warenkorbs in einer PHP-Sitzung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn