最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

PHP session实现购物车功能

来源:懂视网 责编:小采 时间:2020-11-27 22:35:38
文档

PHP session实现购物车功能

PHP session实现购物车功能:在wamp环境下,用PHP的session会话控制完成购物车的效果,数据存放在数组里练习,没有连接数据库,效果不错,简单易懂,以下是各部分的代码 common.php <?php header(content-type:text/html;charset=utf-8); $arrP
推荐度:
导读PHP session实现购物车功能:在wamp环境下,用PHP的session会话控制完成购物车的效果,数据存放在数组里练习,没有连接数据库,效果不错,简单易懂,以下是各部分的代码 common.php <?php header(content-type:text/html;charset=utf-8); $arrP

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

common.php

<?php
header("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>
 <div class='top'>
 <a href="spcar.php" rel="external nofollow" >我的购物车</a><span class="<?php echo $class;?>"><?php echo $sum;?></span>
 <em class='star'>★</em>
 </div>
 <ul class="list">
 <?php foreach ($arrPro as $key => $value):?>
 <li>
 <div class="figure"> 
 <a href=""><img src=" rel="external nofollow" <?php echo $value['img'];?>" width="150" height="150" alt="小米移动电源5000mAh"></a> 
 </div> 
 <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>
 <div style='clear:both'></div>
 </section>
</body>
</html>

action.php

<?php
if(!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

<?php
if(!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

<?php
session_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');
}

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

PHP session实现购物车功能

PHP session实现购物车功能:在wamp环境下,用PHP的session会话控制完成购物车的效果,数据存放在数组里练习,没有连接数据库,效果不错,简单易懂,以下是各部分的代码 common.php <?php header(content-type:text/html;charset=utf-8); $arrP
推荐度:
标签: 购物车 php 实现
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top