您现在的位置是:首页 > cms教程 > Ecshop商城教程Ecshop商城教程
ecshop退出登录后清空购物车的修复方法
千兰2025-01-14Ecshop商城教程已有人查阅
导读ecshop退出登陆后,会清空购物车,大家都应该知道有这样的勉强算bug的问题。 网上类似的教程相当多,但都有问题,说句不好听的,算是引新手入歧途!
ecshop退出登陆后,会清空购物车,大家都应该知道有这样的勉强算bug的问题。 网上类似的教程相当多,但都有问题,说句不好听的,算是引新手入歧途!
总结网上方法如下:
1、修改init.php,把sess_id绑定ip的。老杨点评:各种紊乱不解释。
2、修改cls_session.php,让user_id不为0的购物车商品在退出时不删除,修改lib_main.php,将购物车中sess_id换成新的session_id。 老杨点评:算是到了点子上的改法,但是在不同设置或浏览器访问时,会照成其它设备上的出问题!必须重新登录才能解决!在手机流行的年代,如果手机和pc同时登录,或两台电脑台时登录,你会崩溃的,登了这边,那边购物车就空了,除非重新登录!
3、其它的方法,各种坑,不再列举。
方法:
1、修改includes/cls_session.php 找到(268行左右):
总结网上方法如下:
1、修改init.php,把sess_id绑定ip的。老杨点评:各种紊乱不解释。
2、修改cls_session.php,让user_id不为0的购物车商品在退出时不删除,修改lib_main.php,将购物车中sess_id换成新的session_id。 老杨点评:算是到了点子上的改法,但是在不同设置或浏览器访问时,会照成其它设备上的出问题!必须重新登录才能解决!在手机流行的年代,如果手机和pc同时登录,或两台电脑台时登录,你会崩溃的,登了这边,那边购物车就空了,除非重新登录!
3、其它的方法,各种坑,不再列举。
方法:
1、修改includes/cls_session.php 找到(268行左右):
if (!empty($GLOBALS['ecs']))
{
$this->db->query('DELETE FROM ' .
$GLOBALS['ecs']->table('cart') . " WHERE session_id =
'$this->session_id' );
}
替换为:
if (!emptyempty($GLOBALS['ecs']))
{
$this->db->query('DELETE FROM ' . $GLOBALS['ecs']->table('cart') . " WHERE session_id = '$this->session_id' AND user_id = 0");// .lyecs.com 只清空匿名**
}
2、找到includes/init.php
define('SESS_ID', $sess->get_session_id());
替换为:
//判断是否存在user_id的session,避免高版本PHP报错
if(isset($_SESSION['user_id'])){
//如果存在会员登录
if($_SESSION['user_id']>0){
//取得对应user_id的session MD5码,后面加入'@lyecs.com'自定义的自符串加密。
$user_session=md5($_SESSION['user_id'].'@lyecs.com'); //'@lyecs.com'内容可自行修改
//取得之前的session_id, .lyecs.com
$old_session=$sess->get_session_id();
//如果会员的session_id和原先的session_id不同(则为新登录情况),则将购物车内原session_id的商品,更新为会员下的商品!
if($user_session != $old_session){
$sql="update ".$GLOBALS['ecs']->table('cart')."set session_id='".$user_session."',user_id='".$_SESSION['user_id']."' where session_id='".$old_session."' ";
$GLOBALS['db']->query($sql);
}
//定义新的会员唯一session_id
define('SESS_ID',$user_session);
}else{
//不存在会员,继续用原有的session_id
define('SESS_ID', $sess->get_session_id());
}
}else{
//不存在会员,继续用原有的session_id
define('SESS_ID', $sess->get_session_id());
}
3、同理,mobile/includes/init.php也改下。第2条是重点,已全部注释
本文标签:
很赞哦! ()
上一篇:ecshop二次开发介绍示例
相关教程
图文教程
ecshop留言板里的日期和时间怎么删除
以官方默认模板为例,用EDITPLUS 或 dreamweaver 等编辑软件打开 Ecshop 模板目录(themes/default/library
ecshop出现shop_config错误的解决方法
近日,有客户告诉我们。他们的ECSHOP网站瘫痪了。出现shop_config错误!那么,为什么会出现这样的问题呢?我们又该如何解决呢?下面,商易就和大家一一详解!
ecshop商品分类列表页出现空的搜索结果解决方法
ecshop的商品列表页结果中出现一个空值。出现这个问题的原因跟程序内部的循环体有关系。但是我们尽量不要改变程序本身而通过模板解决。
ecshop后台商品添加成品和利润参数代码实例
ecshop后台admin中的商品操作php文件,goods.php替换为下面的代码,还要在数据库商品本店售价后门添加 cost 字段 为 商品ecs_goods表中添加 cost 字段将字段添加到 goods_id
相关源码
-
(PC+WAP)铝合金门窗定制pbootcms网站模板源码为铝合金门窗、定制门窗企业打造的高性能网站模板,基于PbootCMS开源内核开发,采用HTML5自适应架构,PC与手机端数据实时同步,覆盖全终端用户交互场景。查看源码 -
(自适应)宽屏大气红色机械设备pbootcms模板源码下载为机械设备制造企业设计的响应式网站模板,采用PbootCMS内核开发。宽屏布局突出设备展示效果,红色工业风格贴合机械行业属性,支持PC端与手机端自动适配查看源码 -
(自适应响应式)pbootcms食品零食店日化用品网站源码下载基于PbootCMS内核开发的响应式模板,为食品零食、日化用品等行业量身定制。该模板通过可视化设计展现产品特色,帮助企业快速搭建专业官网查看源码 -
(自适应)HTML5响应式双语绿色物流运输快递货运pbootcms源码本款基于PbootCMS开发的网站模板为物流运输、快递货运行业设计,采用HTML5技术构建,支持简繁字体切换。模板设计充分考虑了货运物流行业的特点,可专业展示运输服务、物流网络和业务优势等内容。查看源码 -
(自适应响应式)工业机床工程农业机械设备网站源码下载框架适用于工程机械、机床设备等工业领域。通过模块调整可快速转型为农业机械、物流设备展示系统。预留7种工业产品展示模板。查看源码 -
pbootcms模板PC+WAP娱乐新闻资讯类博客网站源码该模板基于PbootCMS内核开发,专为娱乐新闻、健康生活类资讯网站设计,同时支持快速适配其他行业(如企业官网、博客门户等),仅需替换图文内容即可完成转型。查看源码
| 分享笔记 (共有 篇笔记) |
