购物车信息存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;
}
购物车信息存cookie的更多相关文章
- 如何将购物车信息存到Redis中?
存到Redis中,好处是速度快.毕竟写到硬盘需要更多的时间.加入购物车的功能,操作很频繁,可以通过Redis快速写入,移除,修改. 用什么方式呢? 传统的KEY,VALUE不太合适,每次增加修改,都要 ...
- springboot中将日志信息存放在catalina.base中
<?xml version="1.0" encoding="UTF-8"?> <configuration debug="true& ...
- 【Java/JDBC】借助ResultSetMetaData,从数据库表中抽取字段信息存成Excel文件
本例工程下载:https://files.cnblogs.com/files/xiandedanteng/FindNotnullColumns20191102-3.rar 工作中曾有个为42张表建立测 ...
- 保存登录信息的Cookie加密技术
所有需要账户登录的website 基本都会想到这样一个问题, 如何保持用户在一定时间内登录有效. 最近本人就在项目中遇到这样的需求,某些页面只能Admin账户登录后访问, 当登录Admin账户后如何才 ...
- iOS “请在微信客户端打开链接” UIWebview加载H5页面携带session、cookie、User-Agent信息 设置cookie、清除cookie、设置User-Agent
公司新开的一个项目..内容基本上是加载H5页面显示..当时觉得挺简单的..后来发现自己掉坑里了..一些心理历程就不说了..说这个项目主要用到的知识点吧..也是自己踩得坑. 首先说说..这个项目上的内容 ...
- 自定义请求头信息及cookie信息
请求网页的时候有时候我们需要传递一些参数信息,这个时候我们可以将参数放到请求头中,具体使用如下: 这里有小问题就是请求参数的属性名好像不支持下划线,即 HTTP_UID不可用,但是HTTP-UID就可 ...
- 关于使用jquery.cookie.js存cookie中文出现乱码问题
一.在Web开发中,有事为了页面之间传值,我们会用到cookie.但是当在cookie中存值为中文汉字时就会出现乱码! 这是一个简单例子: <!DOCTYPE html><html ...
- c# 对象存cookie
下载并引用Newtonsoft.Json.dll 对象转json,然后存cookies string xxx= Newtonsoft.Json.JsonConvert.SerializeObject( ...
- 带参数,头信息,代理,cookie爬取
1.get传参 (1)汉字报错 :解释器器ascii没有汉字 url汉字转码 urllib.parse.quote safe="string.printtable" (2)字典传参 ...
随机推荐
- 修改windows密码后ssrs报错
昨夜修改了windows的登录密码,第二日发现ssrs全部无法访问.显示filenotfound等错误.细想一下,应该是修改了windows的密码导致ssrs权限验证失败. 因此将ssrs的服务帐号修 ...
- boost 1.56.0 编译及使用
boost的编译和使用,经过搜集资料和总结,记录成文.感谢文后所列参考资料的作者. 1 下载 地址:http://sourceforge.net/projects/boost/files/boost/ ...
- idea使用maven启动tomcat
1.设置tomcat,如图: 2.添加war包 3.修改pom.xml 删除可能的选项,如果有下面的代码,删除掉 4.选择使用的resources目录 5.启动即可
- 给animator动态添加事件
using UnityEngine; using System.Collections; public class setAnimationEvent : MonoBehaviour { public ...
- 实例学习Backbone.js(一)
前面有两篇文章介绍了Backbone的model.collection和view,那么接下来我想用一个完整的Demo来记录我学习的过程, 单页操作,实现数据的增删改,后台使用json做数据库,通过re ...
- 如何重置CentOS 7的Root密码?设置CentOS 7的Root密码的方法与步骤
- 让我们一起Go(十三)
前言: 上篇,我们了解了Go语言接口的一些知识,在这篇中,我们将继续聊聊接口这东西. Go语言空接口 Go语言中定义一个空接口,也就是没有任何函数需要实现的接口就是一个空接口,作为一个空接口,因为对象 ...
- JavaScript富应用MVC MVVM框架
对框架的挑选 Ember.js.Backbone.js.Knockout.js.Spine.js.Batman.js , Angular.js 1. 轻量级的应用选择哪一个会比较好?2. 那一个比较简 ...
- Lua面向对象设计
首先对于Lua语言,它没有打算被用来进行大型的程序设计,相反,Lua目标定于小型到中型的程序设计,通常是作为大型系统的一部分,所以它只提供了一套精简的元素,很多高级语言的概念都没有.这样Lua就成为了 ...
- DDD:建模原语 之 四象图(转载的神文)
“模型.状态和行为特征.场景”和“四象图”,建模观的命名与立象. 建模原语:四象图 作者:achieveidea@gmail.com 命名:模型.结构特征.行为特征.场景(及其规约). 释义:模型,描 ...