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的优化与购物车实例相关推荐

  1. 用session和mysql实现购物车_Session和Cookie实现购物车

    使用Session和Cookie实现购物车的比较 购物车相当于现实中超市的购物车,不同的是一个是实体车,一个是虚拟车而已.用户可以在购物网站的不同页面之间跳转,以选购自己喜爱的商品,点击购买时,该商品 ...

  2. 简单Cookie应用Demo

    我们所知道的http协议是无状态协议那么它是如何实现无登入状态时的记录的呢? 原因是我们运用了Session和cookie,我今天做的是一个简单运用cookie的应用 这是最终要达到的目标,初始值的n ...

  3. cookie用法之一,最简单cookie操作

    一.先引用封装好的JS<script src="https://img.huiyiguanjia.com/cdnfile/public/publicfunction.js"& ...

  4. 关于cookie的文章(cookie与session机制)

    会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...

  5. 详解 Cookie 纪要(vue.cookie,jquery.cookie简化)

    今天看到一篇cookie的文章,写的特别详细,感谢 晚晴幽草轩 的分享,原文链接http://www.jeffjade.com/2016/10/31/115-summary-of-cookie/ 原文 ...

  6. 什么是Cookie和Session?—— Cookie和Session的区别?—— 一文教你理解清楚什么是Cookie和Session,以及常见的开发面试问题?

    cookie和session区别 cookie和session 背景说明 1.cookie 1.1.定义 1.2.作用 1.3.组成(种类和参数) 1.3.1.会话 Cookies .永久性 Cook ...

  7. 软件测试测cookie,什么是Cookie测试和网站Cookie测试用例?

    在今天的文章中,我们正在谈论网站Cookie测试.在现代Web测试中使用Cookie是最常见的事情.我们将首先集中在什么是Cookie,以及他们如何在Web应用程序测试中工作.此外,我们将看到如何测试 ...

  8. php的cookie教程,PHP4之COOKIE支持详解

    PHP4之COOKIE支持详解 发布时间:2016-06-17 来源: 点击: 次 PHP4之COOKIE支持详解 建立商业站点或者功能比较完善的个人站点,常常需要记录访问者的信息,在PHP中提供了两 ...

  9. 求一个简单的php购物车,PHP简单实现购物车

    首先,判断是否登录. if(isset($_session['user_id'])){ 存在: 把用户id和商品id,加入购物车表 }else{ 不存在:使用cookie把商品ID和主机IP放入一个数 ...

最新文章

  1. java camel dsl,Apache Camel与Spring DSL
  2. php实现小说字典功能_四十章 PHP实现获取并生成数据库字典的方法
  3. 转 Intellij中的常用快捷键
  4. php返回原界面,thinkphp实现登录后返回原界面
  5. W3C 特邀专家:浏览器多样性对生态的影响
  6. 创新创业技术路线怎么写_怎么创业起步 如何写创业计划?
  7. environment variable is too large 2047
  8. [数据结构]P1.3 栈 Stack
  9. proxmoxve打造云桌面_[pve][vdi]用deskpool创建基于proxmoxVE的桌面云
  10. 廖雪峰Python教程学习笔记
  11. 破解防复制防刻录光盘
  12. 详解两个栈实现一个队列(python实现——经典面试题)
  13. 如何优化Web服务器以实现高吞吐量和低延迟
  14. 康奈尔笔记法写程序笔记
  15. 一些EXCHANGE命令
  16. 最新:GoDadddy注册的域名,如何将域名解析设置到腾讯邮箱(MX记录)
  17. OpenGL ES 帧缓冲区位块传送(Blit)
  18. win10系统qq远程不能控制怎么办?
  19. Vetur自定义格式化代码
  20. Elasticsearch常用配置及性能参数

热门文章

  1. AduSkin - UI 追求极致,永臻完美
  2. CCF 201412-2 Z字形扫描
  3. Q#–一个新年愿望清单
  4. C#LeetCode刷题之#598-范围求和 II​​​​​​​(Range Addition II)
  5. python中基本运算符_Python中的基本运算符及示例
  6. 浅层学习与深层学习_深层副本与浅层副本-以及如何在Swift中使用它们
  7. 美国 cs 工作_我是如何退出美国CS计划的,回到埃及,然后立即在一家公司获得了一份开发工作。...
  8. js求两圆交点_利用二项式通项公式求系数及综合运用(2)
  9. python语言有什么作用_python“ with”语句的用途是什么?
  10. 一个成绩表 该关系模式的外键_MySQL表之间的关系