购物车信息存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)字典传参 ...
随机推荐
- iOS 内存管理机制和循环引用处理方法
简述 ARC: 自动引用计数, Automatic Reference Counting MRC: Mannul Reference Counting ARC工作原理 1.当每次创建一个新实例时,AR ...
- EPLAN P8导线颜色的设置
P8里的导线应称为"连接",连接的颜色代表了其电位的传递路径,如可以给三相电源设置成黑色,PE设为绿色,N设为蓝色等等. P8中电位在连接和元器件中传递的方法是由元器件的连接点属 ...
- iOS开发- Xcode 7添加pch文件
1.打开你的Xcode工程. 在Supporting Files目录下,选择 File > New > File > iOS > Other > PCH File 然后点 ...
- ios 数组排序
第一种:利用数组的sortedArrayUsingComparator调用 NSComparator 示例: obj1和obj2指的是数组中的对象 //1.数组中存放的是字符 NSComparato ...
- 使用sp_addextendedproperty添加描述信息
-- For table EXECUTE sp_addextendedproperty N'MS_Description', '描述内容', N'user', N'dbo', N'table', N' ...
- 九度OJ 1502 最大值最小化(JAVA)
题目1502:最大值最小化(二分答案) 九度OJ Java import java.util.Scanner; public class Main { public static int max(in ...
- 【转】Linux 概念架构的理解
转:http://mp.weixin.qq.com/s?__biz=MzA3NDcyMTQyNQ==&mid=400583492&idx=1&sn=3b18c463dcc451 ...
- CSS布局:Float布局过程与老生常谈的三栏布局
原文见博客主站,欢迎大家去评论. 使用CSS布局网页,那是前端的基本功了,什么两栏布局,三栏布局,那也是前端面试的基本题了.一般来说,可以使用CSSposition属性进行布局,或者使用CSSfloa ...
- 注意Activator.CreateInstance两个重载方法的性能
今天扩展一个Type的扩展方法New: public static object New(this Type type, params object[] args) { Guard.ArgumentN ...
- window xp Apache与Tomcat集群配置--转载
转载地址:http://www.cnblogs.com/obullxl/archive/2011/06/09/apache-tomcat-cluster-config.html 一. 环境说明 Win ...