`
webcode
  • 浏览: 5940576 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

PHP购物车类

阅读更多

<?php
//setcookie("cart","s:26,45,4,4523423|d:17,7,27,26|e:12,13,123,43|f:34");
//cartAdd('e','167');
//getProInfo('z');
//delProInfo('f','26');


/**
* ***********
* 用于记录,修改,删除COOKIE的类,用于我的计划的本地信息的更改
* LIQUAN
*/

class cart
{
/*
实现COOKIES购物车
@$type 产品类型
@$id 产品编号
COOKIES的结果为 type1:3,45,23|type2:34,234,34|type3:344,124
*/
function cartAdd($type,$id)
{
//如果第一次使用,则重新设置COOKIES
if(!isset($_COOKIE["cart"]))
{
setcookie("cart",$type.":".$id);
}
else
{
//如果不是第一次,则先取出来
$cartStr=$_COOKIE["cart"];
//把结果分开
$cartarray=split("\|",$cartStr);

//用于判断类型是否存在,初始不存在,为零
$istype=0;
//产品编号列表
$id_list;
//循环产品
for ($i=0;$i<count($cartarray);$i++)
{
//获取产品名和产品编号列表
list($carttype,$product)=split(":",$cartarray[$i]);
//如果已经存在的产品与要保存的相如,把isType改为1,说明产品已经存在
if ($type==$carttype)
{
$istype=1;
//获取产品的编号列表
$id_list=$product;
//中断循环
break ;
}
}
//如果产品不存在
if($istype==0)
{
//往COOKIES里面加入新产品和产品的编吃
$cartStr=$cartStr."|".$type.":".$id;
}
else
{
//把产品列表分开成数组
$id_list=split("\,",$id_list);
//标识产口编号是否存在,初始不存在
$isId=0;
//循环产品编号
for($i=0;$i<count($id_list);$i++)
{
//如果要保存的产品编号已尼存在
if($id==$id_list[$i])
{
//标识已存在.退出循环
$isId=1;
break;
}
}
//这里只做产品类型和产品编号,所以相同的不加数量,直接不外理
//如果相关类型的产品编号不存在,则加上新的编号
if($isId!=1)
{
$cartStr=str_replace($type.":",$type.":".$id.",",$cartStr);
//$cartStr=str_replace('d:','d:2,',$cartStr);
}

}
setcookie("cart",$cartStr);
print_r($_COOKIE["cart"]);

//setcookie("cart","",time()-100);


}
return ;
}
//返回相应的产品列表
/*
@$type产品类型
*/
function getProInfo($type)
{
//获取购物车COOKIES
$cartStr=$_COOKIE["cart"];

//匹配COOKIES字符,获取产品列表
$preg_str=$type.":((\d+),)*(\d+)";
//echo "<br>";
preg_match("/".$preg_str."/",$cartStr,$proStr);

//echo $proStr[0];
//exit();
list($protype,$product)=split(":",$proStr[0]);

return $product;
//$pro_list=split(",",$product);
//返回产品列表
//return $pro_list;
// print_r($pro_list);
}
/*
*删除产品
*@$type产品类型名
*@$id 产品编号
*/
function delProInfo($type,$id)
{
//获取购物车COOKIES
$cartStr=$_COOKIE["cart"];

//匹配COOKIES字符,获取产品列表
$preg_str=$type.":((\d+),)*(\d+)";
//echo "<br>";
preg_match("/".$preg_str."/i",$cartStr,$proStr);

//只有能找到要删除的类型,才进行下面操做
if($proStr)
{
//查询删除的类型里面是否有要删除的ID
$isproId=strstr($proStr[0],$id);

//如果有,才进行下面操作
if($isproId)
{
//更新后的产品字符串
$upproStr;
//更新后的所有最新的产品COOKIES字符
$newCartStr;

//查询要删除的产品是否有多个
preg_match("/,/",$proStr[0],$isend);
//如果有,进行下面操作
if($isend)
{
//查询要删除的产品后面是否还有产品
preg_match("/".$id.",/",$proStr[0],$isdot);
//如果有,删除后面的逗号
if($isdot)
{
$upproStr=str_replace($id.",","",$proStr[0]);
}
//如果没有,删除前面的逗号
else
{
$upproStr=str_replace(",".$id,"",$proStr[0]);
}
//更新要插入COOKIES里面的字符串
$newCartStr=str_replace($proStr[0],$upproStr,$cartStr);
}
//如果没有多个,则直接删除该类产品
else
{

//判断该类产品后面还有没有产品
preg_match("/".$proStr[0]."\|/",$cartStr,$issu);
//如果有,则删除后面的分格符
if($issu)
{
$newCartStr=str_replace($proStr[0]."|","",$cartStr);
}
//如果没有,则删除前面的分格符
else
{
$newCartStr=str_replace("|".$proStr[0],"",$cartStr);
}
}

setcookie("cart",$newCartStr);

}
}
}
function deletecart()
{
setcookie("cart","",time()-100);
}
}
?>

分享到:
评论

相关推荐

    初步实现的php购物车类.zip

    一个初步实现功能的php购物车类,供php学习者参考。

    PHP购物车类(二维数组COOKIES存取:附带实例car.php)

    这个PHP购物车类,相信大家都见过。但用起来还是有一定的将就。小弟水平有限,二维数组的理解不是很透彻。研究了三个小时终于弄明白如何读取并生成购物列表。表骂我。我只是为了让更多像我一样想研究二维数组写...

    session方式实现的php购物车类.zip

    session方式实现的php购物车类: $cartname 是购物车的标识,可以指定,可以保证不重名,不会有相关冲突 $session_id 是 session_id,默认是使用 cookie 来传输,也可以自定义,如果存储类型是 session 才起效 ...

    PHP购物车类Cart.class.php定义与用法示例

    主要介绍了PHP购物车类Cart.class.php定义与用法,结合实例形式给出了购物车类Cart.class.php的完整定义代码并分析了相关的使用技巧,需要的朋友可以参考下

    PHP购物车类Cart.class.php定义与用法示例_.docx

    PHP购物车类Cart.class.php定义与用法示例_.docx

    PHP购物车下载啊 购物车购物车购物车购物车

    购物车购物车购物车购物车购物车购物车购物车购物车购物车购物车购物车购物车购物车购物车购物车购物车购物车购物车购物车购物车购物车购物车购物车

    PHP实现的购物车类.zip

    主要介绍了PHP实现的购物车类,可实现购物车基本的加入、删除、统计等相关功能, 购物车基本功能如下:1) 将物品加入购物车 2) 从购物车中删除物品 3) 更新购物车物品信息 【 1/-1】 4) 对购物车物品进行统计 1. ...

    PHP 一个SESSION 购物车类

    用PHP写的购物车类,实现了 放入商品 修改数量 删除商品 显示购物车信息的功能.只用一个session就实现了 代码比较容易读懂,适合新手学习! 注意:有一个bug,最后一个del_cart()方法要先session_start(); 忘记加了!

    php使用session的购物车类.zip

    一个php的session购物车类,供php初学者学习参考。

    PHP+COOKIE实现购物车类[强烈推荐]

    PHP+COOKIE实现购物车类[强烈推荐]

    PHP+MYSQL+SESSION实现简单购物车类数据库文件

    PHP+MYSQL+SESSION实现简单购物车类完美DEMO数据库文件

    不错的购物车类php+ajax

    好用的购物车,基于ajax +php,要的来拿吧

    php 自写 购物车 类

    php 自写购物车类 简单实用 欢迎下载

    php购物车.txt

    PHP购物车程序,可以借鉴参考 &lt;td width="130" rowspan="6"&gt;&lt;div align="center"&gt; &lt;?php if(trim($info[tupian]=="")) { echo "暂无图片"; } else { ?&gt; &lt;img src="&lt;?php echo $info[tupian];?&gt;" width=...

    用php语言写的购物车系统

    用php语言写的购物车系统用php语言写的购物车系统用php语言写的购物车系统用php语言写的购物车系统用php语言写的购物车系统用php语言写的购物车系统

    php购物车模块源码

    购物车是为消费者在网上购物中提供一个临时存储商品的地方。其主要功能包括:添加商品、删除商品、更改商品数量、商品金额小计、商品金额总计和清空购物车;还包括生成订单、订单打印、订单预览、提交订单和取消购物...

    TP PHP 购物车

    用TP实现的购物车,有商品展示页,还有商品详情页,再就是加上购物车!

    php实现保存周期为1天的购物车类

    本文实例为大家分享了php购物车类的具体代码,供大家参考,具体内容如下 购物车类 Cookies 保存,保存周期为1天 注意:浏览器必须支持Cookie才能够使用 示例代码: &lt;?php /** * 购物车类 Cookies 保存,保存...

    自己写的php购物车(ajax+php)

    自己动手写的购物车类,用到了ajax+php,界面比较简陋。但是功能还是齐全的。

Global site tag (gtag.js) - Google Analytics