cookie购物车php简单,cookie的优化与购物车实例
php 的 cookie的优化与购物车实例
一 Cookie 的优化
1.1 一般而言,我们设置cookie是在php中设置
例如:
setcookie('testKey1','hello world',0,'/'); //# 当 expires = 0 时,此Cookie随浏览器关闭而失效,?>
而在验证的时候,我们通常是:
if(isset($_COOKIE['testKey2']))
echo "The New COOKIE is : testKey2 = ".$_COOKIE['testKey2'];
else
echo "The new COOKIE is setting failed";
?>
都是在服务端进行。优化:
1.2 在前端页面进行验证cookie
cookie保存在客户端,那么可以在客户端那边进行验证,根据上面的代码,前端获取代码为:
var key1 = document.cookie.match(new RegExp("(^| )testKey1=([^;]*)(;|$)")); //正则找出testKey的cookie值
try{
if(key1[2] != '')
document.write("testKey1 = "+key1[2]);
}catch(e){
document.write("testKey1 = NULL");
};
那么我们能否在前端设置cookie 呢 ?
1.3 在前端页面设置cookie【购物车原理】
function setCookie(){
var expire = new Date();
expire.setTime(expire.getTime() + 86400000);
document.cookie = "testKey2=This the second Cookie;expires=" + expire.toGMTString() + ";path=/";
alert('完成设置');
location.href='test2.php'
}
这样子能够减轻服务器的压力
我们要注意,这样子是有限制的,浏览器本身能够存储的数据有限:
上述是从网上找来,仅供参考,如果我们要存储更多的数据。可以使用:
1.4 local storage
在谷歌浏览器下,f12可以看到:
这个可以看成是浏览器的小型数据库,可以存储更多的数据。
示例【购物车小试】:
设置页面:
Demo2
var cartLSName = 'abc';
//gdsInfo=[ID,NAME,AVATAR,PRICE,NUMBER]
function addToLS(gdsInfo){
if(!window.localStorage){
alert('您的浏览器不支持Local Storage!'); //如果不支持,可以采用第1.3中的方法
return false;
}
try{
if(gdsInfo.length != 5){
alert('参数错误!');
return false;
}
}catch(e){alert('参数错误!');return false}
var gName=gdsInfo[1];
gdsInfo[1]=encodeURI(gdsInfo[1]);
gdsInfo[4]=parseInt(gdsInfo[4]);
if(isNaN(gdsInfo[4])) gdsInfo[4] = 1;
//由JSON字符串转换为JSON对象
var cartLS = JSON.parse(localStorage.getItem(cartLSName));
if(cartLS == null){
cartLS=[gdsInfo];
}else{
var existInCart=false;
for(var i=0;i
if(cartLS[i][0] == gdsInfo[0]){
cartLS[i][4] += gdsInfo[4];
existInCart = true;
break;
}
}
if(!existInCart)
cartLS.splice(0,0,gdsInfo);
}
//将JSON对象转化为JSON字符,并存入LocalStorage
localStorage.setItem(cartLSName,JSON.stringify(cartLS));
return true;
}
存储一
效果:
有设置,就有查看:
Show LocalStorage Info
if(!window.localStorage){
alert('您的浏览器不支持Local Storage!');
}
var cartLSName = 'abc';
var cartStr = localStorage.getItem(cartLSName)
//gdsInfo=[ID,NAME,AVATAR,PRICE,NUMBER]
function showStr(){
str = decodeURIComponent(cartStr);
alert(str);
document.getElementById('show').innerHTML=str;
}
function showInfo(){
var cartLS = JSON.parse(cartStr);
if(cartLS == null){
alert(NULL);
}else{
var str = '';
for(var i=0;i
str += "ID:"+cartLS[i][0] + "\n";
str += "Name:"+cartLS[i][1] + "\n";
str += "Logo:"+cartLS[i][2] + "\n";
str += "Price:"+cartLS[i][3] + "\n";
str += "Num:"+cartLS[i][4] + "\n";
}
str = decodeURIComponent(str);
alert(str);
document.getElementById('show').innerHTML=str.replace(/\n/g,"
");
}
}
function clearLS(){
localStorage.clear();
}
以字符串形式显示
显示详细
清空
返回设置页面
效果:
以字符串形式显示
显示详细
以上这篇cookie的优化与购物车实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
cookie购物车php简单,cookie的优化与购物车实例相关推荐
- 用session和mysql实现购物车_Session和Cookie实现购物车
使用Session和Cookie实现购物车的比较 购物车相当于现实中超市的购物车,不同的是一个是实体车,一个是虚拟车而已.用户可以在购物网站的不同页面之间跳转,以选购自己喜爱的商品,点击购买时,该商品 ...
- 简单Cookie应用Demo
我们所知道的http协议是无状态协议那么它是如何实现无登入状态时的记录的呢? 原因是我们运用了Session和cookie,我今天做的是一个简单运用cookie的应用 这是最终要达到的目标,初始值的n ...
- cookie用法之一,最简单cookie操作
一.先引用封装好的JS<script src="https://img.huiyiguanjia.com/cdnfile/public/publicfunction.js"& ...
- 关于cookie的文章(cookie与session机制)
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...
- 详解 Cookie 纪要(vue.cookie,jquery.cookie简化)
今天看到一篇cookie的文章,写的特别详细,感谢 晚晴幽草轩 的分享,原文链接http://www.jeffjade.com/2016/10/31/115-summary-of-cookie/ 原文 ...
- 什么是Cookie和Session?—— Cookie和Session的区别?—— 一文教你理解清楚什么是Cookie和Session,以及常见的开发面试问题?
cookie和session区别 cookie和session 背景说明 1.cookie 1.1.定义 1.2.作用 1.3.组成(种类和参数) 1.3.1.会话 Cookies .永久性 Cook ...
- 软件测试测cookie,什么是Cookie测试和网站Cookie测试用例?
在今天的文章中,我们正在谈论网站Cookie测试.在现代Web测试中使用Cookie是最常见的事情.我们将首先集中在什么是Cookie,以及他们如何在Web应用程序测试中工作.此外,我们将看到如何测试 ...
- php的cookie教程,PHP4之COOKIE支持详解
PHP4之COOKIE支持详解 发布时间:2016-06-17 来源: 点击: 次 PHP4之COOKIE支持详解 建立商业站点或者功能比较完善的个人站点,常常需要记录访问者的信息,在PHP中提供了两 ...
- 求一个简单的php购物车,PHP简单实现购物车
首先,判断是否登录. if(isset($_session['user_id'])){ 存在: 把用户id和商品id,加入购物车表 }else{ 不存在:使用cookie把商品ID和主机IP放入一个数 ...
最新文章
- java camel dsl,Apache Camel与Spring DSL
- php实现小说字典功能_四十章 PHP实现获取并生成数据库字典的方法
- 转 Intellij中的常用快捷键
- php返回原界面,thinkphp实现登录后返回原界面
- W3C 特邀专家:浏览器多样性对生态的影响
- 创新创业技术路线怎么写_怎么创业起步 如何写创业计划?
- environment variable is too large 2047
- [数据结构]P1.3 栈 Stack
- proxmoxve打造云桌面_[pve][vdi]用deskpool创建基于proxmoxVE的桌面云
- 廖雪峰Python教程学习笔记
- 破解防复制防刻录光盘
- 详解两个栈实现一个队列(python实现——经典面试题)
- 如何优化Web服务器以实现高吞吐量和低延迟
- 康奈尔笔记法写程序笔记
- 一些EXCHANGE命令
- 最新:GoDadddy注册的域名,如何将域名解析设置到腾讯邮箱(MX记录)
- OpenGL ES 帧缓冲区位块传送(Blit)
- win10系统qq远程不能控制怎么办?
- Vetur自定义格式化代码
- Elasticsearch常用配置及性能参数
热门文章
- AduSkin - UI 追求极致,永臻完美
- CCF 201412-2 Z字形扫描
- Q#–一个新年愿望清单
- C#LeetCode刷题之#598-范围求和 II​​​​​​​(Range Addition II)
- python中基本运算符_Python中的基本运算符及示例
- 浅层学习与深层学习_深层副本与浅层副本-以及如何在Swift中使用它们
- 美国 cs 工作_我是如何退出美国CS计划的,回到埃及,然后立即在一家公司获得了一份开发工作。...
- js求两圆交点_利用二项式通项公式求系数及综合运用(2)
- python语言有什么作用_python“ with”语句的用途是什么?
- 一个成绩表 该关系模式的外键_MySQL表之间的关系