Python语言技术文档

微信小程序技术文档

php语言技术文档

jsp语言技术文档

asp语言技术文档

C#/.NET语言技术文档

html5/css技术文档

javascript

点击排行

您现在的位置:首页 > 技术文档 > C#/.NET技巧

PHP session实现购物车功能

来源:中文源码网    浏览:133 次    日期:2024-05-07 03:38:47
【下载文档:  PHP session实现购物车功能.txt 】


PHP session实现购物车功能
在wamp环境下,用PHP的session会话控制完成购物车的效果,数据存放在数组里练习,没有连接数据库,效果不错,简单易懂,以下是各部分的代码
common.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
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 = "";
}
}
?>




商品展示










action.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
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
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');
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持中文源码网。

相关内容