//以商品为单位分别存入到各个不同的cookie中,避免因为cookie值过大,导致数据存储失败
$cart_info_one[brand_name] = $parent['brand_name'];
setcookie("cart_info_".$maxindex,serialize($cart_info_one),time()+315360000,'/'); //获取cookie中购物车中信息
$cart_info_arr[] = unserialize(stripslashes($_COOKIE["$cookie_name"]));//cookie 购物车信息 //主要函数封装方法
/*
* 用户登录后将本地购物车cookie和数据库信息进行同步
* */
function syn_cart_cookie(){
if(empty($_SESSION['user_id'])){
return;
}
$sql = "SELECT goods_id FROM ".$GLOBALS['ecs']->table('cart')." WHERE user_id=".$_SESSION['user_id'];
$cart_goods_id = $GLOBALS['db']->getAll($sql);
foreach ($cart_goods_id as $cart_goods_id_list){
$db_cart_goods_id[] = $cart_goods_id_list['goods_id'];
} $cart_info_arr = cookie_cart_info();//cookie 购物车信息
if(!is_array($cart_info_arr)){
return ;
} foreach ($cart_info_arr as $key=>$cart_info_list){
$cart_info = array();
if(!in_array($cart_info_list['goods_id'], $db_cart_goods_id)){
unset($cart_info_list['rec_id']);
$cart_info_list['user_id'] = $_SESSION['user_id'];
$cart_info_list['session_id'] = $_SESSION['session_id'];
$GLOBALS['db']->autoExecute($GLOBALS['ecs']->table('cart'), $cart_info_list, 'INSERT');
}
}
clean_cookie_cart();//清除购物车cookie信息
} /* 获取cookie中购物车的名称 */
function cookie_cart_index(){
$cookie_keys = array_keys($_COOKIE);
foreach ($cookie_keys as $cookie_keys_list){
if(strpos($cookie_keys_list,'cart_info_') !== false && is_numeric(ltrim($cookie_keys_list,'cart_info_'))){
$index[] = ltrim($cookie_keys_list,'cart_info_');
}
}
if(empty($index)){
return false;
}
return $index;
} /* 获取cookie中购物车最大的索引值 */
function cookie_cart_maxIndex(){
$index = cookie_cart_index();
if($index === false){
return -1;
}
rsort($index);
return $index[0];
} /* 将cookie中的购物车信息合拼为一个二维数组 */
function cookie_cart_info(){
$index = cookie_cart_index();
if($index === false){
return;
}
$cart_info_arr = array();
foreach ($index as $index_info){
$cookie_name = 'cart_info_'.$index_info;
$cart_info_arr[] = unserialize(stripslashes($_COOKIE["$cookie_name"]));//cookie 购物车信息
}
return $cart_info_arr;
} /* 清除cookie中购物车信息 */
function clean_cookie_cart(){
$index = cookie_cart_index();
foreach ($index as $cart_info_dex){
setcookie('cart_info_'.$cart_info_dex,'',time()-100,'/');
}
return true;
}

最新文章

  1. Java Spring IOC用法
  2. bzoj2631: tree
  3. SQLServer两张表筛选相同数据和不同数据
  4. TypeScript学习记录
  5. EFCode First 导航属性
  6. poj 1159 Palindrome(dp)
  7. 百度云观测优化建议解决方案:未设置max-age或expires
  8. 关于post与get请求参数存在特殊字符问题
  9. tomcat集群实现源码级别剖析
  10. python2.x 与 python3.x的不同
  11. dir 命令手册
  12. HTML第二篇
  13. centos7 Linux 安装jdk1.8
  14. Vuex结合 async/await 优雅的管理接口请求
  15. Oracle监听程序未启动或数据库服务未注册到该监听
  16. google thumbnailator
  17. Mybatis动态构建Sql(无实体类)
  18. php爬虫神器cURL
  19. 转载Json和Xml的区别,以及它们的底层是如何处理的
  20. Android Service完全解析

热门文章

  1. Hybris电商方案介绍(企业全渠道) B2B B2C O2O建设
  2. Android程序的签名保护及绕过方法
  3. saiku之行速度优化(三)
  4. 给animator动态添加事件
  5. 圆满完成Selenium自动化测试周末班培训课程!
  6. Linux下动态链接库 与gcc 选项
  7. uniGUI试用笔记(十四)TUniTreeView的CheckBox
  8. 三种ViewController跳转的异同
  9. lxde桌面默认快捷键
  10. C#获取内网和外网IP