ECSHOP如何解决购物车中商品自动消失问题

最近有客户反映关于ECShop购物车的问题:需要加入多个商品到购物车时,发现之前加入到购物车的商品都自动消失了,只有最后一次加入购物车的商品在里面。那么,这是什么原因呢?
因为ECShop的SESSION采用IP生成用户唯一码,这样一来,多线接入的用户在路由自动切换时就会造成IP变化,这样,SESSION也就丢失了,与SESSION相关的登陆、购物车也就失效了。

解决办法有两种:
1、当用户第一次登陆时,将用户的IP存入Cookie
2、在生成SESSION时,不取IP,而是在用户的机器存一个加密的Cookie。

第一种方法相对较简单,这里讲一下具体操作步骤

只需要修改ECShop根目录下includes\cls_session.php 大概在82行,找到这个。
$this->_ip = real_ip();

修改为

if(isset($_COOKIE[‘real_ipd‘]) && !empty($_COOKIE[‘real_ipd‘])){
    $this->_ip = $_COOKIE[‘real_ipd‘];
 }else{
    $this->_ip = real_ip();
    setcookie("real_ipd", $this->_ip, time()+36000, "/");
}
就可以了。

时间: 2024-08-30 01:37:11

ECSHOP如何解决购物车中商品自动消失问题的相关文章

Spring注解解决属性中的自动注入

@Autowired  Spring 2.5 引入了 @Autowired 注释,它可以对类成员变量.方法及构造函数进行标注,完成自动装配的工作. 通过 @Autowired的使用来消除 set ,get方法. 加在成员变量之上可以省略get set方法. 但是首先得现在Spring配置文件中配置org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor @Resource 注解被用来激活一个

ecshop 完美解决动态ip登录超时和购物车清空问题

ecshop 完美解决动态ip登录超时和购物车清空问题 ECSHOP模板/ecshop开发中心(www.68ecshop.com) / 2014-05-06 前一段时间,ECSHOP开发中心的一个客户说自己的ecshop网店出了状况,就是有时候登录的时候会自动退出.而且购物车也没规律的会清空.刚开始一直找不到原因,到最后才知道了.他说的状况是由于像学校,公司一类的局域网.ip变化的原因造成的.ecshop存登录和购物车信息的时候用的是session,所以用cookie能够解决这个问题. 1.购物

在Mint 16中当按下光驱的弹出按钮后桌面上的光驱图标没有自动消失的问题解决

/*********************************************************************  * Author  : Samson  * Date    : 07/29/2014  * Test platform:  *              Mint 16  *              GNU bash, version 4.2.45  * *************************************************

解决Android中,禁止ScrollView内的控件改变之后自动滚动

问题: 最近在写一个程序界面,有一个scrollVIew,其中有一段内容是需要在线加载的. 当内容加载完成后,ScrollView中内容的长度会发生改变,这时ScrollView会自动下滚,如下图所示: 滚动的那一下体验特别不好,所以要防止这种情况.即不论Scrollview中内容如何,都要保持在最上. 解决办法: 先简单写一下我的xml文件的结构: [html] view plaincopy <ScrollView android:id="@+id/scrollView1" a

新建解决方案 在解决方案中添加项目中,解决方案消失的解决办法

新建空白解决方案的步骤:文件--新建项目--其他项目类型--Visual Studio 解决方案 这样就建立出了一个空白解决方案. 然后在资源管理器中可以添加项目,但是添加项目的时候会发现,解决方案消失了,解决办法  工具--选项--项目和解决方案(如果看不到这个,在下方有一个显示所有设置打勾),然后右边有一个 总是显示解决方案.勾上,解决方案就出现了 记录一下. 新建解决方案 在解决方案中添加项目中,解决方案消失的解决办法,布布扣,bubuko.com

解决:IE中不能自动选择UTF-8编码的解决方法

IE中不能自动选择UTF-8编码的解决办法 在windows操作系统上使用IE作为浏览器时.常常会发生这样的问题:在浏览使用UTF-8编码的网页时,浏览器无法自动侦测(即没有设定“自动选择”编码格式时)该页面所用的编码.即使网页已经声明过编码格式: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> ,由此造成某些含有中文UTF-8编码的页面产生空白输出. 问题分析:

Dev c++中{ }不能自动缩进怎么解决?

问题: Dev c++中{ }不能自动缩进 比如:在 vc 编译器中输入 for() { ......//代码 } //此处会自动缩进 而 Dev 中 for() { .......//代码 } //此括号在这个位置. 最后一个大括号和倒数第2个大括号不对齐(这里显示是齐的),实际情况如下图: 解决办法 打开 Dev-c++ 工具-编译器选项-基本-自动缩进 和 使用tab字符 打上钩 (alt+T+E) 其他选项再改改就好了 原文地址:https://www.cnblogs.com/Geek-

关于.net服务启动注册到zookeeper,但是注册节点20分钟自动消失解决办法

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,作用简单描述就是相当于一个中介,服务提供者将服务注册到zk,服务调用者直接从zk获取,zk的作用就是协调 最近碰到公司iis服务启动了,然后该服务在zk成功注册节点并且provider有了节点,但是超过20分钟没有访问后,发现provider中的节点消失了,请教了开发知道,对于新增的服务器安装iis服务后,原来对于服务的应用程序池需要做3个操作才行. 如图1-1,需要在服务的应用程序池,选择服务-高级设置-禁用重叠回收[True

C#:解决WCF中服务引用 自动生成代码不全的问题。

问题描述: 如下图:打叉的部分是引用不成功的部分 ,在web.config文件中没有自动添加其引用代码. 英文解释 在服务引用选择自己的项目的程序集就行了,如下图: 特别注意:这些程序集一定要在自己的项目中,也就是说,你的web引用的程序集如果有感叹号,那样也不行.