购物车信息存cookie

//以商品为单位分别存入到各个不同的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;
}
时间: 2024-10-12 12:56:14

购物车信息存cookie的相关文章

Java日志信息存库(log4j篇)

一.Log4j简介 在一个完整的J2EE项目开发中,日志是一个非常重要的功能组成部分.它可以记录下系统所产生的所有行为,并按照某种规范表达出来.我们可以通过日志信息为系统进行排错,优化系统的性能,或者根据这些信息调整系统等行为.Log4j是Apache针对于日志信息处理的一个开源项目,其最大特点是通过一个配置文件就可以灵活地控制日志信息的输出方式(控制台.文件和数据库等).日志输出格式及日志信息打印级别等,而不需要修改应用的代码. 二.编写背景 作为一名程序猿在开发中总能遇到一些比较奇葩的需求,

Java日志信息存库(logback篇)

一.Logback简介 Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback-core,logback- classic和logback-access.logback-core是其它两个模块的基础模块.logback-classic是log4j的一个 改良版本.此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging.logback-access访问模块与Servl

3月第5周业务风控关注 | 央视曝光偷密码的“×××”,9亿人个人信息存风险

易盾业务风控周报每周呈报值得关注的安全技术和事件,包括但不限于内容安全.移动安全.业务安全和网络安全,帮助企业提高警惕,规避这些似小实大.影响业务健康发展的安全风险. 1.央视曝光偷密码的"×××",9亿人个人信息存风险 央视财经频道<经济半小时>节目主题为偷密码的"×××",曝光了WIFI×××和WIFI钥匙两款WIFI共享类软件,涉嫌窃取用户隐私及WIFI密码. 至于这大量的WIFI密码究竟是如何泄漏的,根据<经济半小时>接收到的观众举报

spring项目篇14 --- 编写商品展示以及购物车信息

肺炎形势严峻,人心惶惶,愿祖国早日解决,社会早点稳定. 这次主要实现的功能就是商品展示以及购物车,购物车信息保存在mysql数据库中.我们先来看商品数据库层 // IProductDao package com.yang.dao; import com.yang.domain.Product; import java.util.List; public interface IProductDao { // 获取商品 List<Product> getList(); // 获取单个商品 Prod

保存登录信息的Cookie加密技术

所有需要账户登录的website 基本都会想到这样一个问题, 如何保持用户在一定时间内登录有效. 最近本人就在项目中遇到这样的需求,某些页面只能Admin账户登录后访问, 当登录Admin账户后如何才能保持登录信息呢? 用Cookie或者Session来保存登录信息已经是一种比较成熟的技术.但是对于账户信息如果把明文放在Cookie里面显然是非常危险的. 今天给大家分享一下自己在项目中用到的一些加密解密技术. Cookie 是以key-value的形式存数据.对于账户信息而言最简单的是 User

关于使用jquery.cookie.js存cookie中文出现乱码问题

一.在Web开发中,有事为了页面之间传值,我们会用到cookie.但是当在cookie中存值为中文汉字时就会出现乱码! 这是一个简单例子: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script src="../JavaScript/jquery-1.8.2

jsp写商品显示信息和cookie浏览记录,网上看到的好东西,记录一下。

这是本次项目结果,商品展示页面和浏览历史记录页面. 1,先从数据库入手:创建商品数据库. CREATE TABLE `items` (   `id` int(11) NOT NULL auto_increment,   `name` varchar(50) default NULL,   `city` varchar(50) default NULL,   `price` int(11) default NULL,   `number` int(11) default NULL,   `pict

$Django 路飞之课程下的分类,用户登陆成功前端存cookie,

一 课程分类显示 宗旨:总的再次过滤 二 Cookie # export default new Vuex.Store({ state: { name:'', token:'', }, mutations: {}, actions: {} }) #全局数据 #赋值 methods:{ upup:function () { let _this=this this.$http.request({ url:'http://127.0.0.1:8000/login/', method:'post', d

07 用户购物车模块

1 实现添加购物车的功能 前端的页面如下: 前端的页面分析: 要实现添加购物车的功能,前端要向后端传送的数据有商品的id和添加的数量,并且后端规定以post的方式发送给后端. 后端视图函数的业务逻辑 1 判断用户是否登陆,没登陆返回用户未登录 2 接受前端传来的参数 3 对参数进行校验,判断是否有空的参数,有为空的参数返回参数不完整 4 对传过来的商品id进行数据库查询,看数据库中是否有这个商品存在,没有返回商品不存在 5 对参数添加购物车的数量的类型判断,如果不是整数,返回参数错误 6 判断是