网站地图    收藏   

主页 > 后端 > ecshop教程 >

ecshop购物车随会员退出自动清空问题 - ecshop

来源:自学PHP网    时间:2014-11-28 23:31 作者: 阅读:

[导读] ecshop购物车不是很好用,有时候特定的需求下,需要将购买的物品保留,或者当会员登陆买东西之后,不小心关闭浏览器,或者是退出的时候,还可以让商品保留在购物车,如果下次登陆,还可以看...

ecshop购物车随会员退出自动清空问题

ecshop购物车不是很好用,有时候特定的需求下,需要将购买的物品保留,或者当会员登陆买东西之后,不小心关闭浏览器,或者是退出的时候,还可以让商品保留在购物车,如果下次登陆,还可以看到购物车的产品.

这样就实现了购物车在退出的情况下,只要登陆的时候购买的产品,都可以保留下来.

1:修改includes/cls_session.php中的 destroy_session()函数

其实就是后面多加个user_id ='' www.phpfensi.com

$this->db->query('DELETE FROM ' . $GLOBALS['ecs']->table('cart') . " WHERE session_id = '$this->session_id' and user_id =''");

2:lib_main.php文件中的update_user_info()函数 www.phpfensi.com

把下面的返回值去了!

  1. $sql = "update ".$GLOBALS['ecs']->table('cart')." set user_id =".$_SESSION['user_id']." where session_id = '".SESS_ID."'";   
  2. $GLOBALS['db'] -> query($sql);   
  3. $sql1 = "update ".$GLOBALS['ecs']->table('cart')." set session_id ='".SESS_ID."' where user_id = '".$_SESSION['user_id']."'";   
  4. $GLOBALS['db'] -> query($sql1);   
  5. $re = $GLOBALS['db'] -> getAll("select *,sum(goods_number) as goods_number from ".$GLOBALS['ecs']->table('cart')." where user_id = '{$_SESSION['user_id']}' and session_id = '".SESS_ID."' group by goods_id");   
  6.  
  7. if($re){   
  8. foreach ($re as $k => $v){   
  9. $sql = "update ".$GLOBALS['ecs']->table('cart'). " set goods_number = ".$v['goods_number']." where rec_id = ".$v['rec_id'];   
  10. $GLOBALS['db'] -> query($sql);    
  11. $sql = "delete from ".$GLOBALS['ecs']->table('cart')." where rec_id <</span>> {$v['rec_id']} and user_id = '{$_SESSION['user_id']}' and session_id = '".SESS_ID."' and goods_id = ".$v['goods_id'];   
  12. $GLOBALS['db'] -> query($sql);   
  13. }   
  14. }  

这样就可以实现了。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论