首页后端开发PHPPHP session如何实现购物车功能

PHP session如何实现购物车功能

时间2024-02-02 09:29:02发布访客分类PHP浏览878
导读:收集整理的这篇文章主要介绍了PHP session如何实现购物车功能,觉得挺不错的,现在分享给大家,也给大家做个参考。在wamp环境下,用PHP的session会话控制完成购物车的效果,数据存放在数组里练习,没有连接数据库,效果不错,简单易...
收集整理的这篇文章主要介绍了PHP session如何实现购物车功能,觉得挺不错的,现在分享给大家,也给大家做个参考。

在wamp环境下,用PHP的session会话控制完成购物车的效果,数据存放在数组里练习,没有连接数据库,效果不错,简单易懂,以下是各部分的代码

common.php

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

index.php

?php header("content-type:text/html;
    charset=utf-8");
    require 'common.php';
    session_start();
    $sum = 0;
    $class = "";
//判断左上角购物车的样式显示if(!empty($_SESSION['shopcar'])){
      $data = $_SESSION['shopcar'];
      $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='top'>
      a href="spcar.php" rel="external nofollow" >
    我的购物车/a>
    span class="?php echo $class;
    ?>
    ">
    ?php echo $sum;
    ?>
    /span>
      em class='star'>
    ★/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['img'];
    ?>
    " width="150" height="150" alt="小米移动电源5000mAh">
    /a>
         /p>
         h3 class="title">
         a href="">
    ?php echo $value['title'];
    ?>
    /a>
        /h3>
         p class="price">
    span class="num">
    ¥?php echo $value['price'];
    ?>
    /span>
    /p>
        p class='cart'>
    a href="action.php?id=?php echo $value['id'];
    ?>
    " rel="external nofollow" >
    加入购物车/a>
    /p>
      /li>
      ?php enDForeach;
    ?>
      /ul>
      p style='clear:both'>
    /p>
      /section>
    /body>
    /html>
    

action.php

?phpif(!empty($_GET['id'])){
      require 'common.php';
      session_start();
      $id = $_GET['id'];
      //把所选ID的商品信息遍历出来  foreach ($arrPro as $key =>
 $value) {
    if($id == $value['id']){
        $arrData = $arrPro[$key];
    }
  }
      //用一个新的二维数组把商品信息存起来  $arrDatax[0][$arrData['id']] = $arrData['id'];
      $arrDatax[1][$arrData['id']] = $arrData['img'];
      $arrDatax[2][$arrData['id']] = $arrData['title'];
      $arrDatax[3][$arrData['id']] = $arrData['price'];
      $arrDatax[4][$arrData['id']] = 1;
  //判断是否有SESSION存在,有则在数组后添加,没有则直接存  if(empty($_SESSION['shopcar'])){
        $_SESSION['shopcar'] = $arrDatax;
        header('Location:index.php');
  }
else{
        //第一次购物之后的购物    //重新取出来,防止数据覆盖    $arrDataz = $_SESSION['shopcar'];
    if(in_array($id,$arrDataz[0])){
          $arrDataz[4][$arrData['id']] += 1;
          $_SESSION['shopcar'] = $arrDataz;
          header('Location:index.php');
    }
else{
          $arrDataz[0][$arrData['id']] = $arrData['id'];
          $arrDataz[1][$arrData['id']] = $arrData['img'];
          $arrDataz[2][$arrData['id']] = $arrData['title'];
          $arrDataz[3][$arrData['id']] = $arrData['price'];
          $arrDataz[4][$arrData['id']] = 1;
          $_SESSION['shopcar'] = $arrDataz;
          header('Location:index.php');
    }
  }
}
else{
      echo "购物车没有商品!";
}
    

spcar.php

?phpif(!empty($_GET['id'])){
      require 'common.php';
      session_start();
      $id = $_GET['id'];
      //把所选ID的商品信息遍历出来  foreach ($arrPro as $key =>
 $value) {
    if($id == $value['id']){
        $arrData = $arrPro[$key];
    }
  }
      //用一个新的二维数组把商品信息存起来  $arrDatax[0][$arrData['id']] = $arrData['id'];
      $arrDatax[1][$arrData['id']] = $arrData['img'];
      $arrDatax[2][$arrData['id']] = $arrData['title'];
      $arrDatax[3][$arrData['id']] = $arrData['price'];
      $arrDatax[4][$arrData['id']] = 1;
  //判断是否有SESSION存在,有则在数组后添加,没有则直接存  if(empty($_SESSION['shopcar'])){
        $_SESSION['shopcar'] = $arrDatax;
        header('Location:index.php');
  }
else{
        //第一次购物之后的购物    //重新取出来,防止数据覆盖    $arrDataz = $_SESSION['shopcar'];
    if(in_array($id,$arrDataz[0])){
          $arrDataz[4][$arrData['id']] += 1;
          $_SESSION['shopcar'] = $arrDataz;
          header('Location:index.php');
    }
else{
          $arrDataz[0][$arrData['id']] = $arrData['id'];
          $arrDataz[1][$arrData['id']] = $arrData['img'];
          $arrDataz[2][$arrData['id']] = $arrData['title'];
          $arrDataz[3][$arrData['id']] = $arrData['price'];
          $arrDataz[4][$arrData['id']] = 1;
          $_SESSION['shopcar'] = $arrDataz;
          header('Location:index.php');
    }
  }
}
else{
      echo "购物车没有商品!";
}
    

delete.php

?phpsession_start();
if(!empty($_GET['id'])){
      $arrData = $_SESSION['shopcar'];
  //判断对应的商品ID信息    if(in_array($_GET['id'],$arrData[0])){
          unset($arrData[0][$_GET['id']]);
          unset($arrData[1][$_GET['id']]);
          unset($arrData[2][$_GET['id']]);
          unset($arrData[3][$_GET['id']]);
          unset($arrData[4][$_GET['id']]);
          $_SESSION['shopcar'] = $arrData;
    }
        header('Location:spcar.php');
}
    

相关学习推荐:PHP编程从入门到精通

以上就是PHP session如何实现购物车功能的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: PHP session如何实现购物车功能
本文地址: https://pptw.com/jishu/596661.html
一起看看php实现产品加入购物车功能(1) 实现简单的php购物车代码

游客 回复需填写必要信息